01.Jenkins介绍
官网 jenkins.io
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
02.安装Jenkins
装备两台服务器 关闭selinux和防火墙
内存2G 50G+硬盘
jenkins 10.0.0.201
nexus 10.0.0.202
2.安装JDK运行环境和jenkins服务
上传JDK和jenkins rpm安装包,使用rpm -ivh进行安装,安装完JDK运维java测试是否安装成功
rpm -ivh jdk-8u181-linux-x64.rpm
rpm -ivh jenkins-2.99-1.1.noarch.rpm
3.配置jenkins
启动用户修改为root
JENKINS_USER="root"
[root@CentOS7 ~]# systemctl start jenkins
[root@CentOS7 ~]# systemctl enable jenkins
访问页面进行配置
http://10.0.0.201:8080
03.插件安装
(跳过安装插件,直接上传插件到目录)和修改登录密码
1.自动安装可选插件
2.手动下载插件上传安装
3.插件放入插件目录
[root@CentOS7 ~]# cd /var/lib/jenkins/
[root@CentOS7 jenkins]# ll jobs为每次构建后构建的结果目录,plugins为插件目录
总用量 36
-rw------- 1 root root 1822 8月 26 00:35 config.xml
-rw------- 1 root root 156 8月 26 00:31 hudson.model.UpdateCenter.xml
-rw------- 1 root root 1712 8月 26 00:32 identity.key.enc
-rw------- 1 root root 94 8月 26 00:32 jenkins.CLI.xml
-rw-r--r-- 1 root root 4 8月 26 00:35 jenkins.install.InstallUtil.lastExecVersion
-rw-r--r-- 1 root root 4 8月 26 00:35 jenkins.install.UpgradeWizard.state
drwxr-xr-x 2 root root 6 8月 26 00:31 jobs
drwxr-xr-x 3 root root 18 8月 26 00:32 logs
-rw------- 1 root root 907 8月 26 00:32 nodeMonitors.xml
drwxr-xr-x 2 root root 6 8月 26 00:32 nodes
drwxr-xr-x 2 root root 6 8月 26 00:31 plugins
-rw------- 1 root root 64 8月 26 00:31 secret.key
-rw-r--r-- 1 root root 0 8月 26 00:31 secret.key.not-so-secret
drwx------ 4 root root 4096 8月 26 00:32 secrets
drwxr-xr-x 2 root root 23 8月 26 00:32 userContent
drwxr-xr-x 3 root root 18 8月 26 00:34 users
上传插件包解压到plugins下执行重启 systemctl restart jenkins
jenkins主要的目录
/usr/lib/jenkins/:jenkins安装目录,WAR包会放在这里
/etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在这里配置
/var/lib/jenkins/:默认的JENKINS_HOME
/var/log/jenkins/jenkins.log:Jenkins日志文件
04.创建自由风格项目
1.创建一个自由风格的项目freestyle-job
丢失旧的构建
执行一条shell命令、查看运行的当前路径,构建后的产物存储在/var/lib/jenkins/workspace/
jenkins端配置从git获取代码,由于我们dev用户是配置在jenkins上,所以无需认证即可下载代码
3.执行立即构建获取到代码
4.写一个脚本把从git仓库里获取的代码上传到web服务器站点目录下
#!/bin/sh
DATE=$(date +%Y-%m-%d-%H-%M-%S)
CODE_DIR="/var/lib/jenkins/workspace/my-freestyle-job"
WEB_DIR="/usr/share/nginx/"
get_code_tar(){
cd $CODE_DIR && tar zcf /opt/web-$DATE.tar.gz ./*
}
scp_code_web(){
scp /opt/web-$DATE.tar.gz 10.0.0.7:$WEB_DIR
}
code_tarxf(){
ssh 10.0.0.7 "cd $WEB_DIR &&mkdir web-$DATE && tar xf web-$DATE.tar.gz -C web-$DATE"
}
ln_html(){
ssh 10.0.0.7 "cd $WEB_DIR && rm -rf html && ln -s web-$DATE html"
}
main(){
get_code_tar;
scp_code_web;
code_tarxf;
ln_html;
}
main
5.使用jenkins调用部署脚本(此处写脚本全路径脚本名称)测试
6.配置自动触发构建、需要设置安全令牌Secret token
进行认证配置进入gitlab点击用户设置找到访问令牌Access Tokens
下一步设置项目中的执行后操作。然后进行构建测试返回结果
查看测试结果