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可以通过脚本去自动构建

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐