3-jenkins

jenkins

jenkins 1

1. 简介: 2

2. 安装: 2

3. 创建任务 9

4. Jenkins实现脚本上传代码 15

简介:

jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,旨在提供一个开放易用的软件平台,使软件持续集成

3-jenkins

只要master上有新的代码(推送或者合并),自动触发脚本(ansible或者shell)实现自动代码上线

推荐使用内存2G,使用硬盘20G

安装:

安装:

官网:jenkins.io

按照官网来

3-jenkins

3-jenkins

wget https://pkg.jenkins.io/redhat-stable/jenkins-2.204.2-1.1.noarch.rpm

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

sudo yum install jenkins java-1.8.0-openjdk-devel

sudo systemctl daemon-reload

使用自己的rpm包安装

下载:jenkins-2.93-1.1.noarch.rpm

yum -y install java-1.8.0-openjdk

rpm -ivh jenkins-2.93-1.1.noarch.rpm

目录:

/var/lib/jenkins:插件存放目录,默认的JENKINS_HOME

/usr/lib/jenkins:jenkin安装目录,war包位置

/var/lib/jenkins/users/:用户配置文件

/etc/sysconfig/jenkins:配置文件(端口,JENKINS_HOME)

/var/log/jenkins/jenkins.log:jenkins日志文件

开启

修改端口号和用户

vim /etc/sysconfig/jenkins

3-jenkins

3-jenkins

可选(如果放在同一台机器):

systemctl start jenkins

开启jenkins

systemctl start jenkins
3-jenkins

netstat -anput | grep :8080

3-jenkins

systemctl start jenkins

web界面:

3-jenkins

按照提示查看密码

cat /var/lib/jenkins/secrets/initialAdminPassword
3-jenkins

登录:密码上同

3-jenkins

登录取消密码(不建议,会影响后面实验):

vim /var/lib/jenkins/config.xml

把这一段删除

3-jenkins

重启jenkins

重新点击首页-系统管理-管理用户
点击进入展示“用户列表”
点击 admin-设置
修改密码并保存

安装相关插件

手动下载插件放到/var/lib/jenkins/plugins下,或者是在web界面选择系统管理-管理插件-高级-上传插件,然后重启jenkins

手动方式:

cd /var/lib/jenkins

拉取包:plugins.tar.gz

rm -rf plugins

tar -xvf plugins.tar.gz

systemctl restart jenkins

web方式:

3-jenkins

修改admin密码

3-jenkins

3-jenkins

创建任务

3-jenkins

3-jenkins

3-jenkins

3-jenkins

3-jenkins

3-jenkins

3-jenkins

3-jenkins

3-jenkins

3-jenkins

继续增加指令

3-jenkins

3-jenkins

3-jenkins

Jenkins实现脚本上传代码

思路:将代码下载到gitlab目录中,然后实现代码上线

下载项目

3-jenkins

3-jenkins

码云是中国的github:https://gitee.com/

https://gitee.com/kangjie1209/monitor

3-jenkins

开启一台虚拟机(12)安装nginx

10端开启一个项目目录并进行git初始化

mkdir project

cd project/

git init

将代码推送到project目录下

3-jenkins

gitlab创建一个新的项目

3-jenkins

3-jenkins

3-jenkins

3-jenkins

刷新页面,上传成功

3-jenkins

回到jenkinsweb界面

将git的URL复制到jenkins目录上

会有报错

3-jenkins

在git版本库中添加密钥,jenkins中添加凭据

3-jenkins

3-jenkins

3-jenkins

3-jenkins

3-jenkins

3-jenkins

3-jenkins

成功拉取到/var/lib/jenkins/workspace/freestyle-job

3-jenkins

到jenkins服务器查看

3-jenkins

jenkins手动将代码发布到服务器

可以通过执行命令或脚本的方式进行代码发布,可以使用root在各个web服务器发布代码,也可以创建普通用户发布。

先让jenkins服务器将公钥发送给web服务器

ssh-copy-id 192.168.1.12

赋予jenkins用户权限(因为之前在配置文件中已经修改过,所以此项可以不做)

visudo
3-jenkins

jenkins服务器编写脚本

mkdir /scripts
vim /scripts/deploy.sh
#!/bin/bash
CODE_DIR=/var/lib/jenkins/workspace/freestyle-job
WEB_DIR=/var/www/
TIME=`date +%F-%H-%M-%S`
IP=192.168.1.12
cd $CODE_DIR && tar -zcf /tmp/web-${TIME}.tar.gz ./* 
scp /tmp/web-${TIME}.tar.gz $IP:$WEB_DIR
ssh root@$IP "cd $WEB_DIR && mkdir web-$TIME"
ssh root@$IP "cd $WEB_DIR && tar xf web-${TIME}.tar.gz -C web-$TIME && rm -rf web-${TIME}.tar.gz"
ssh root@$IP "cd $WEB_DIR && rm -rf html && ln -s web-${TIME} html"
实现将拉取的项目自动打包发送到网页根目录下,并创建连接文件,删除本地tar包等操作
sh deploy.sh
3-jenkins
访问12端实现一键代码上传

将脚本传送到jenkinsweb界面

在原有的项目上增加脚本:
3-jenkins

模拟开发修改代码并推送代码

在git服务器端把移动能效管理平台改了(模拟开发修改内容)
mkdir data && cd data
git init
git clone git@192.168.1.10:test/kangjie_monitor.git
cd kangjie_monitor/
vim index.html
3-jenkins
开发拉取项目进行修改
git add .
git commit -m "change index.html"
git push -u origin master

jenkins点击立即构建,再去12web界面查看

3-jenkins
3-jenkins

jenkins自动将代码发送到服务器(gitlab master 分支只要上传,直接代码上线)

3-jenkins

jenkins版本过低导致插件无法下载,升级jenkins版本

3-jenkins
3-jenkins
vim /var/lib/jenkins/config.xml
3-jenkins
也可以通过手动下载jenkins war包实现升级
备份cd /usr/lib/jenkins/

mv jenkins.war jenkins.war.bak

下载最新jenkins war包:wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.125/jenkins.war
重启jenkins

实现自动构建时需要下载3个插件,但是因为版本过低导致插件无法下载,此时需要更新jenkins版本在管理选项中即可升级或者使用手动方式升级war包

ps aux | grep jenkins
cd /usr/lib/jenkins
mv jenkins.war /root/jenkins.war
service jenkins stop
wget https://updates.jenkins-ci.org/download/war/2.138/jenkins.war
service jenkins start

3-jenkins

3-jenkins

安装Gitlab Hook插件

3-jenkins
1、修改 jenkins 数据目录中的hudson.model.UpdateCenter.xml值为:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
2、修改updates文件夹中的 default.json文件

替换文件中所有 http://updates.jenkins-ci.org/download 为 https://mirrors.tuna.tsinghua.edu.cn/jenkins
http://www.google.com 修改为
http://www.baidu.com

3、在浏览器中,http:localhost:8080/reload,这样可以重新载入配置。
或者使用http:localhost:8080/restart,重启一下Jenkins ,选择安装推荐插件, 秒速安装成功,简直超速!!
vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
3-jenkins
sed -i 's#http://updates.jenkins-ci.org/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' /var/lib/jenkins/updates/default.json
sed -i 's#http://www.google.com#http://www.baidu.com#g' /var/lib/jenkins/updates/default.json

插件网站

http://updates.jenkins-ci.org/download/plugins

可选插件中安装Build Authorization Token Root插件

3-jenkins
3-jenkins
新版:Parameterized Remote Trigger
JIRA Trigger、Gitlab Plugin插件一定要下载
3-jenkins

配置身份验证令牌生成随机密码(不使用了)

openssl rand -hex 12
114ab36466d57372d4a21441
3-jenkins
-hex:输出结果为16进制数据;数字12是指定生成的随机字符为12字节。总结:22位16位进制数

配置触发器

3-jenkins
3-jenkins
开启高级配置:
3-jenkins
3-jenkins

gitlab配置jenkins的url连接和token

3-jenkins
3-jenkins
3-jenkins
新版:注意一下
3-jenkins
3-jenkins
测试一下
3-jenkins
3-jenkins

模拟开发修改内容直接上传到web服务器

cd /root/data/kangjie_monitor/
vim index.html
3-jenkins
git commit -am "modified index.html"
git push -u origin master
3-jenkins

实现jenkins将执行结果反馈给gitlab

先去gitlab生成token

3-jenkins
3-jenkins
3-jenkins

编辑jenkins实现认证

3-jenkins
3-jenkins
3-jenkins
3-jenkins
3-jenkins
3-jenkins
3-jenkins

编辑jenkins的具体项目生成通知

3-jenkins
3-jenkins
3-jenkins
查看是否返回
3-jenkins

gitlab检测出现对勾则完成

3-jenkins
3-jenkins
点击对号
3-jenkins
3-jenkins
成功输出jenkins的执行结果
3-jenkins

发布者:LJH,转发请注明出处:https://www.ljh.cool/36885.html

(0)
上一篇 2023年4月20日 上午2:15
下一篇 2023年4月20日 上午2:17

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注