jenkins 构建前执行shell_Gitlab+Jenkins执行脚本方式自动化构建实例
Jenkins各项目用途及优缺点介绍Freestyle Job 需在页面添加模块配置项与参数完成配置 每个Job只能实现一个功能 无法代码化,不利于迁移与版本控制流水线项目 所有参数都可以体现为一个pipeline脚本 可以定义多个stage构建一个管道工作集 配置代码化,方便Job配置迁移与版本控制 脚本写在Jenkins项目里多分支流水线 优点同流水线 脚本写在GitLab项目里(Jenkin
Jenkins各项目用途及优缺点介绍
Freestyle Job 需在页面添加模块配置项与参数完成配置 每个Job只能实现一个功能 无法代码化,不利于迁移与版本控制
流水线项目 所有参数都可以体现为一个pipeline脚本 可以定义多个stage构建一个管道工作集 配置代码化,方便Job配置迁移与版本控制 脚本写在Jenkins项目里
多分支流水线 优点同流水线 脚本写在GitLab项目里(Jenkinsfile)
执行shell脚本方式部署
1、gitlab与jenkins上都安装git
# yun install -y git
2、jenkins界面,新建一个自由风格的项目
自由风格的项目创建完成
3、项目配置,使其能与gitlab链接
点击“Source Code Management”,添加Gitlab的URL地址,来源于配置Gitlab时创建的项目时候的URL地址
配置Credentials,点击Add选择Jenkins
添加凭据
Kind(SSH Username with private key)–Username(root)–>>选择Enter directly,Jenkins添加私钥
Credentials的下拉菜单中选择“root”
构建触发器,使用轮询SCM方式
一、定时构建:不管SVN或Git中数据有无变化,均执行定时化的构建任务 ;
二、轮询SCM:只要SVN或Git中数据有更新,则执行构建任务;
三、构建语法说明:与crontab定时任务一样
1.首先格式为:* * * * *(五个星);
2.第一个*表示分钟,取值0~59
第二个*表示小时,取值0~23
第三个*表示一个月的第几天,取值1~31
第四个*表示第几月,取值1~12
第五个*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
选择构建,“增加构建步骤”的下拉菜单中选择“执行shell”
在命令这栏写入想要执行的shell命令,比如“ls -a”
Gitlab添加Jenkins的公钥:用户设置–>>SSH Keys–>>Add an SSH key
8. 保存Jenkins设定,点击“返回面板”,查看可以执行shell脚本的job工程是否已经配置好。显示蓝色的,即表示构建成功
点击“job”返回上一个页面,点击“#1,查看控制台输出,如果有输出,则表示可以执行shell脚本的job工程已经配置好
Jenkins的工作目录,查看是否有Gitlab上myProject项目中的内容,如果有,则表示可以执行shell脚本的job工程已经配置好
查看轮询SCM是否正常,Git中数据有更新,则执行构建任务
Gitlab修改数据推送至远程仓库
[root@node1 ~]# cd myproject/
[root@node1 myproject]# ls
hello.text README.md test
[root@node1 myproject]# echo "testfile" > test
[root@node1 myproject]# git add test
[root@node1 myproject]# git commit -m"testfile"
[master cc151c8] testfile
1 file changed, 1 insertion(+), 1 deletion(-)
[root@node1 myproject]# git push -u origin master
Counting objects: 5, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 244 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
To git@172.25.14.10:root/myproject.git
656caca..cc151c8 master -> master
Branch master set up to track remote branch master from origin.
Jenkins的web界面上查看,是否进行了第二次构建,查看控制台输出,并在Jenkins工作目录下查看文件
如果需要部署服务,Jenkins可以通过脚本去自动构建
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)