赞
踩
【点击logo】-【新建任务】
【自定义任务名称】-【选择任务类型】-【确定】
【丢弃旧的构建】
说明:设置保留构建的历史记录,7天或者10次的构建记录;
由于是初体验任务管理,本次使用配置任务,咱们不拉取代码,只是测试任务的基本历程;
构建步骤,选择【执行shell】
编辑构建步骤的执行shell
##########################
echo "我们当前所在的目录是:"
pwd
echo "我们jenkins执行时使用的用户是:"
whoami
保存任务
点击【立即构建】
点击【立即构建】之后,下方产生一个小“绿色小对号”并显示“1”;
代表构建成功了,构建了1次;
通过构建的结果,我们可以看到;
1,创建的任务,在linux下都在/var/lib/jenkins/workspace/下创建一个与“任务名称”相同的目录;
2,jenkins默认的执行用户是:jenkins
至此,我们jenkins的任务创建与执行构建,就初体验完毕了;
引发问题,如何修改jenkins的默认执行用户呐?
[root@jenkins ~]# systemctl cat jenkins.service
# /usr/lib/systemd/system/jenkins.service
........................
[root@jenkins ~]# vim /usr/lib/systemd/system/jenkins.service
..............................
User=jenkins
Group=jenkins..............................
systemctl daemon-reload
[root@jenkins ~]# systemctl restart jenkins
【立即构建】
查看执行结果,发现,执行jenkins的用户已经修改为root了;
至此,修改默认的执行用户就学习完毕了;
[root@jenkins ~]# vim /etc/hosts
【logo】-【新建任务】-【编辑自定义任务名称和自由风格的任务】-【确定】
【丢弃旧的构建】
保留7天内的或者前10次的构建数据
就是拉取gitlab的代码的配置
选择【Git】-【填写gitlab的项目的克隆地址】
gitlab的克隆地址获取位置
此时,会报错,因为你还没有配置jenkins免秘钥登录gitlab
随便一台linux机器生成密钥对(公钥和私钥);
[root@jenkins ~]# ssh-keygen
#一路回车
查看生成的密钥对
[root@jenkins ~]# ll /root/.ssh/
-rw------- 1 root root 1679 Mar 10 13:53 id_rsa
-rw-r--r-- 1 root root 394 Mar 10 13:53 id_rsa.pub
将/root/.ssh/id_rsa(私钥)复制好
由于第一次连接需要输入“yes”确认,所以,咱们需要手段连接一次;
[root@jenkins ~]# ssh gitlab.xinjizhiwa.com
将/root/.ssh/id_rsa.pub(公钥)复制好
我们本次学习,拉取master分支的代码
echo "xinjizhiwa-web"
pwd
tar zcf /tmp/xinjizhiwa.tar.gz .
#后续操作
#后续操作。。。。。
验证本地是否拉取过来gitlab的代码
[root@jenkins ~]# cat /var/lib/jenkins/workspace/xinjizhiwa-web-01/xinjizhwa.txt
xinjizhiwa-v1.0
xinjizhiwa-v3.0
验证shell是否将代码压缩到/tmp/目录下
[root@jenkins ~]# ll /tmp/
至此,jenkins拉取gitlab代码到jenkins本地就成功了,同时,jenkins使用shell对本地代码进行操作,也成功;
参数化构建,就是指定gitlab上的代码的版本,进行拉取到jenkins;
参数化构建有三种类型,选项参数、文本参数、git参数;
已知我们在gitlab上有xinjizhiwa-web这个项目,项目中目前有4个版本的代码;
类似于设置变量
echo "xinjizhiwa-web-${var_version}部署成功"
if [$var_version = "main"];then
echo "部署到生产环境"
fi
if [$var_version = "master"];then
echo "部署到测试环境"
fi
if [$var_version = "xinjizhiwa"];then
echo "部署到k8s集群"
fi
我们的拉取代码的分支,设置的是选项参数变量,所以,我们拉取哪个分支的代码,就会根据我们构建时选择的参数进行拉取;
我们可以查看jenkins代码目录下的代码文件进行验证;
[root@jenkins ~]# ll /var/lib/jenkins/workspace/xinjizhiwa-web-02/
设置个名称即可
与选项参数不同之处就在于一个是选择,一个是文本输入;
是否根据我们输入的变量值,拉取的对应的分支代码;
[root@jenkins ~]# systemctl restart jenkins.service
echo "xinjizhiwa-web-${git_tag}部署成功"
if [$git_tag = "main"];then
echo "部署到生产环境"
fi
if [$git_tag = "master"];then
echo "部署到测试环境"
fi
if [$git_tag = "xinjizhiwa"];then
echo "部署到k8s集群"
fi
至此,参数化构建学习完毕;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。