当前位置: 首页 > news >正文

wordpress博客类似/seo推广有哪些

wordpress博客类似,seo推广有哪些,政府网站建设项目招标公告,北京产品网站建设什么是devops 研发(Development)和运维(Operations),字面意思上 DevOps 是指“开发运维一体化”,即通过工具辅助开发完成运维的部分工作,减少成本。 devops涉及的范围很广,覆盖到源…

什么是devops

研发(Development)和运维(Operations),字面意思上 DevOps 是指“开发运维一体化”,即通过工具辅助开发完成运维的部分工作,减少成本。

devops涉及的范围很广,覆盖到源码管理,到构建,测试,部署,运行 等环节,最终目的是实现一套高效的作业流程,把这些环节流畅地串接起来,自动化工作。

实践

本文基于 jenkins + git + maven + docker ,实现从 java项目源码拉取,编译,打包,生成docker镜像,发布镜像到远程仓库并运行 这一完整过程。

安装jenkins 

官网完整安装教程:https://www.jenkins.io/zh/doc/book/installing/

  • linux下war包安装 

      环境要求: jdk1.8+ 

  1. 下载最新的稳定版war包 https://www.jenkins.io/zh/download/

  2. 在下载目录执行命令:java -jar jenkins.war  --httpPort=8889     (8889为jenkins管理后台的web端口,可自行定义,默认8080)

  3. 浏览器运行  http://localhost:8889
  • docker下 jenkins安装
docker run \-u root \--name="jenkins" \-d \-p 8889:8080 \-p 50000:50000 \-v jenkins-data:/var/jenkins_home \-v /var/run/docker.sock:/var/run/docker.sock \jenkinsci/blueocean
  • portainer下jenkins安装  

结合portanier 的docker管理工具,在界面直接一键安装。

这样就完成安装了!

配置Jenkins

安装并运行后,在浏览器访问 localhost:8889  (笔者在之前的安装过程中 将端口定义为 8889 ,默认是8080)

根据提示,在服务器中找到密码

因为笔者是使用的docker安装,则需要先进入docker容器,再到对应路径查看密码

查询正在运行的jenkins容器ID

交互式进入jenkins的docker容器

docker exec -it b440df7b7655  /bin/bash

查看jenkins安装密码

cat /var/jenkins_home/secrets/initialAdminPassword

输入到界面进行安装

 直接选择 【安装推荐的插件】

安装完推荐插件,就进入到创建用户的界面,创建好管理员用户,点击保存并完成 

配置好jenkins根路径,可以直接使用默认的,点击保存并完成 

 这样就进入到jenkins的主界面了

常见错误:No valid crumb was included in the request

如果在操作过程中发现jenkins抛出这样的异常

主要是因为jenkins高版本关掉了在web页面控制CSRF的开关,如果是低版本可在【系统管理】-【全局安全设置】中关闭:

如果web界面没有找到此开关,需要进行如下操作:(笔者的jenkins是运行在docker里)

vi /usr/local/bin/jenkins.sh
找到exec java那行(大概是在第37行),添加-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true
最终的效果如下
exec java -Duser.home="$JENKINS_HOME" -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@"

然后重启docker容器

以war包直接运行的直接在启动命令加上

-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true

 

安装插件:Maven Integration、Publish Over SSH

进入插件管理

搜索要安装的插件,进行安装

如果可选插件列表加载不出来数据,则需要调整 【高级】设置

需要将原有URL的https改为https即可,即改为  http://updates.jenkins.io/update-center.json 

然后再重启 jenkins 服务

如果可选插件仍然为空,可能是你不会用。。。

需要输入关键字搜索才会展示出结果,笔者之前修改完配置各种求助仍然不出来插件,后面发现是要输入关键字去搜索才会显示...

在【已安装】中能找到这两个插件就说明已经成功安装了

配置ssh远程服务器

安装完 Publish Over SSH 后,需要在系统配置中配置好要连接的应用服务器(在后面的操作中需要使用jenkins远程ssh连接到应用服务器,进行构建后的应用部署运行)

 

配置JDK、Maven目录

(笔者是使用docker安装jenkins,所以容器里自带了jdk,只要把目录配置上去即可,PS:自动安装没试成功过)

 

maven 笔者是手动安装,因为自动安装一直没反应,放弃。

手动安装:

wget  https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
tar -zvxf  apache-maven-3.5.4-bin.tar.gz

设置环境变量

vi /etc/profile

MAVEN_HOME=/var/jenkins_home/apache-maven-3.5.4
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

设置完保存

 source /etc/profile

 

创建任务

点击【新建任务】

选择构建maven 项目

配置git源码库

 

在jenkins配置git信息之前,需要先在git的仓库中配置ssh,笔者以gitee为例。

首先在jenkins的服务器生成SSH公钥

cd ~/.ssh
ssh-keygen -o

 ssh-keygen 会确认密钥的存储位置(默认是 .ssh/id_rsa),然后它会要求你输入两次密钥口令。 如果你不想在使用密钥时输入口令,将其留空即可。 然而,如果你使用了密码,那么请确保添加了 -o 选项,它会以比默认格式更能抗暴力破解的格式保存私钥。 你也可以用 ssh-agent 工具来避免每次都要输入密码。

生成后使用cat命令查看公钥

cat ~/.ssh/id_rsa.pub

将生成的密钥 保存到gitee的ssh设置中

回到jenkins的git设置,将项目地址填入 Repository URL,然后点击添加

输入在git上配置好的 

添加完Credentials,如无红色提示,则视为测试连接成功

配置maven构建命令

在Build模块配置好要构建的pom文件,以及maven命令

在maven命令中,笔者使用了 docker:build ,直接利用maven-docker插件,将构建完的项目打包成docker镜像,并部署到指定的docker仓库

关于maven-docker的细节,参考笔者之前的文章: 微服务实战(十九)Docker篇 从代码工程发布到Docker镜像的详细过程

配置构建完成后的shell操作

当maven命令执行完后,已经完成了代码拉取、编译、打包、生成docker镜像并发布到指定的远程docker仓库

接下来要做的就是在要部署的服务器上拉取docker镜像,停止并删除旧版本的应用容器(如果有的话),运行新的应用镜像

(应用服务器需要安装jdk、docker)

以上操作需要编写shell脚本,并且在jenkins中配置好应用服务器的ssh链接,jenkins会在build完成后自动连接应用服务器,并执行shell脚本完成以上操作

笔者的shell脚本可以参考:

!#/bin/bash#关闭旧版本容器
docker stop `docker ps -a| grep healthcare | awk '{print $1}' `#删除旧版本容器
docker rm `docker ps -a| grep healthcare | awk '{print $1}' `#启动构建好的docker镜像
docker run --name="healthcare" -itd -p 8888:8080 `docker images  -a| grep healthcare | awk '{print $1,$2}' OFS=":" |head -n 1`

 

完成一次自动化的构建过程

当一切就绪后,试验一次自动化的构建吧。

保存完任务后,在Dashborad会展示此任务,点击“立即构建”,jenkins会按照配置进行作业

在构建历史中可以观测到所有任务的执行时间表,并且可以查看执行日志

 

日志中可以看到本次构建已经完成

同时在 portainer 平台可以看到应用容器已经更新了版本

旧版本的镜像还保留 (预留一定数目旧版本,可以立即进行应用版本回滚 )

http://www.lbrq.cn/news/744769.html

相关文章:

  • 自己做行程的网站/宁波seo排名外包公司
  • 奇米网怎么做网站/被国家禁止访问的网站怎么打开
  • 做网站备案要多久/长沙今日头条新闻
  • p2p网站如何做测试/东莞疫情最新消息今天
  • 网站默认图片素材/电工培训技术学校
  • 怎么给网站做链接/互联网广告平台有哪些
  • 面试问你如何快速优化网站/财经新闻最新消息
  • 建设银行网站登录首页/本地免费发布信息网站
  • 网站推广 昆明/网站推广途径
  • 河南网站建设外贸/长春疫情最新情况
  • 做微信网站公司/长沙官网网站推广优化
  • 室内设计师简介/孝感seo
  • 专注网站建站/网络营销怎么做推广
  • 华为手机商城官网/seo技术教程
  • 深圳手机网站建设公司/广告推广免费平台
  • 申请网站平台怎么做/企业门户网站模板
  • 泰安网站制作推荐/今天今日头条新闻
  • 济南住房和房产信息网/seo中文含义
  • 石家庄工信部网站备案/经典软文案例标题加内容
  • 朋友要我帮忙做网站/武汉大学人民医院地址
  • 给周杰伦做网站/安卓aso优化排名
  • 黄色国内外网站/网络营销有哪些特点
  • asp.net做织梦网站/seo技术培训东莞
  • 能免费做微信群推广的网站/汕头网站设计
  • 网站怎么企业备案/搜索引擎优化与关键词的关系
  • 政府网站建设与管理官网/如何建立一个自己的网站啊
  • 教育培训官网/优化大师兑换码
  • 上海网站建设公司/seo网站营销公司哪家好
  • 西安 医疗网站建设/如何自制网站
  • 用明星名字做网站/seo属于运营还是技术
  • Vim笔记:缩进
  • Python 作用域 (scope) 与闭包 (closure)
  • Orange的运维学习日记--45.Ansible进阶之文件部署
  • 【数据结构】堆和二叉树详解——上
  • 使用 Python 的 `cProfile` 分析函数执行时间
  • 【CV 目标检测】Fast RCNN模型②——算法流程