Jenkins-自动部署项目

乐云一
  • 插件
  • 插件
About 1967 wordsAbout 7 min

Jenkins-Windows

部署前

https://www.jenkins.io/download/

image-20220818195013955

下载.msi安装包,跟着提示下一步,安装成功:在网页打开:https://localhost:xxxx; xxxx是安装时设置的端口

设置

打开页面后:

image-20220818195320162

其余跟着提示下一步,完成初始化设置,进入页面。

修改JenKins工作空间

image-20220822113030358

image-20220822113044695

image-20220822113943545

在安装Jenkins目录下,找到jenkins.xml。

<service>
 <id>jenkins</id>
 <name>Jenkins</name>
 <description>This service runs Jenkins automation server.</description>
 <env name="JENKINS_HOME" value="%ProgramData%\Jenkins\.jenkins"/>
</service>

修改 env 标签中的value,值为修改后的工作空间路径

工作空间:JenKins关联项目打包产生的缓存及包,以及GitLab拉取的代码和Jenkins工作缓存的存储空间。

TIP:1、注意如果需要修改工作空间,则在修改前不进行插件、项目等的关联、安装。

​ 2、JenKins在Windows环境下为系统服务,修改前后需在服务中将名为Jenkins的服务重新启动

修改国内镜像

进入Manage Jenkins >> Manage Plugin >> Advanced,将最下面的Update Site URL更改为:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

修改服务器配置:打开Jenkins工作目录下的\updates\default.json

将其中的体内进行替换:

updates.jenkins.io/download/plugins -> mirrors.tuna.tsinghua.edu.cn/jenkins/plugins
www.google.com -> www.baidu.com

重启Jenkins服务

安装插件

image-20220822134654939

image-20220822134911435

推荐安装以下插件:

  • Git plugin
  • GitLab plugin
  • Maven Integration plugin
  • Localization: Chinese 【中文插件】
  • Publish Over SSH【SSH连接器】
  • Safe Restart Plugin【安全重启插件】
  • SSH server 【SSH节点插件】

全局配置

image-20220822141129341

依次从上往下配置:

  1. image-20220822141206864
  2. image-20220822141217264
  3. image-20220822141227146
  4. image-20220822141242855

系统配置

image-20220822142949199

Jenkins访问端口

image-20220822143325987

SSH节点

image-20220822143439148

TIP: 注意合理设置timeout,SSH的默认连接时间大多超过秒级,所以控制在3000ms内即可

SSH连接器

image-20220822143634704

参数介绍

  1. Passphrase【连接密码】
  2. Path to key 【秘钥路径】
  3. Key【秘钥】
  4. Name【本连接器名称】
  5. Hostname【服务器主机address】
  6. Username【连接用户名】
  7. Remote Directory【本次连接指向的服务器路径】

部署项目

image-20220822143937923

image-20220822144128192

基本设置

image-20220822144243858

  1. 策略【Log Rotation 日志循环】
  2. 保持构建的天数【超过设置天数的构建记录将被删除】
  3. 保持构建的最大个数【构建记录中只会存在X个记录,新加记录将删除最远旧记录】

image-20220822144920078

这些推荐使用默认,也可以根据需要选择,作用名如其名

源码管理

image-20220822145038993

TIP: 指定分支,一定需要 指定到具体的分支上,比如*/release ,这里的 * 代表全匹配,一般在Git不设置的情况下都是 origin

构建触发器

image-20220822145424895

触发器的功能:当条件触发时,本项目将自动项目构建、打包、部署

  1. Build after other projects are built【当指定项目构建后,触发。指定项目为在Jenkins中配置的项目】
  2. Build periodically【定期触发】
    1. Build when a change is pushed....【当Git中有更新分支推送上来时,触发。不推荐】
  3. ...
  4. ...
  5. Poll SCM【时间轮询,在自定义时间的时间片中,将定时的去返回Git查询有无更新分支,如果有则触发】

构建前

image-20220822150858744

如果项目需要在构建前进行一些系统变量或配置文件的更改与新建,则可以通过以上两个,实现SSH远程调用Shell脚本/执行目标服务器的Shell脚本/执行目标服务器的命令/SSH传输文件的方式进行配置

image-20220822151617278

设置打包命令以及根依赖文件。

clean -Dmaven.repo.local=F:\MAVEN -DskipTests=true install -P gvsmaven,alimaven,releasemaven

构建

image-20220822154141075

构建步骤,一般步骤为:

  1. 删除就Jar包备份,拷贝当前服务器下该项目已存在,运行的Jar包作为备份。

    选择Execute shell script on remote host using ssh

    image-20220822154601403

    SSH site 为在系统配置中配置的SSH节点

    Command为在目标服务器中执行的 Linux 指令

  2. 将最新的代码打包,发送给目标服务器

    选择 Send files or execute commands over SSH

    image-20220822161534049

    1. Source files 【打包后的jar包目录,绝对路径指向jenkins的工作空间,.jenkins/workspace】
    2. SSHServer【SSH连接器】
    3. Remove prefix 【打包后,去掉的文件名路径前缀,这里一定要去,不然到服务器中文件指向路径会是 指定的目标目录/工作空间路径/*.jar 】
    4. Remote directory【文件传输目录,这个路径会和SSH连接器中的Remote Directory 进行拼接】
    5. Exec command【在本服务器中执行的命令】
  3. 在目标服务器中运行该jar包/war包

    如果是way包,那么不需要管,只要准确的将war包发送至目标服务器的webapps目录下

    如果是jar包:

    1. 直接运行jar包,【已知目标服务器已搭建Jdk环境,jar包自带Tomcat】

    2. 通过Shell脚本运行

      选择Execute shell script on remote host using ssh

      image-20220822165707022

构建后

image-20220822170034711

image-20220822170102195

邮件通知

  1. 下载[ Email Extension] 插件
  2. https://blog.csdn.net/mengtao0609/article/details/123867919

Jenkins-Linux

War包

image-20220822185054647

按照正常的war包应用,将下载到的jenkins.war包放到Tomcat的webapps目录下,并且访问其localhost:XXXX/jenkins。

其余设置与上述配置一模一样。

Docker

下载镜像

docker pull jenkins/jenkins

查看jenkins镜像

docker images

image-20220822185959909

创建工作空间

mkdir -p /home/jenkins_home

启动

docker run -d -uroot -p 9095:8080 -p 50000:50000 --name jenkins -v /home/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins
命令意义
-v /home/jenkins_home:/var/jenkins_home:/var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录

查看日志

docker logs jenkins

image-20220822190414219

在/initialAdminPassword,查看初始化密码。

访问Jenkins:localhost:9095,后续配置与上述一致

Last update:
Contributors: leyunone
Comments
  • Latest
  • Oldest
  • Hottest
Powered by Waline v2.14.7