前进是:你已经配置好jenkins+gitlab自动化布置了,这里只是常规构建新的项目时,需要做的配置,记录下来,以免忘了又着急

参考这篇博客:

https://www.jianshu.com/p/eeb15a408d88

写的非常棒~谢谢前辈

Jenkins 和 GitLab 上创建测试工程。在 Jenkins Dashboard 主页点击 新建任务,进入新建任务页面:

在工程配置页面的 源码管理部分,输入 GitLab repo 的 URL,如下图:

找到 构建触发器 的部分,勾选 Build when a change is pushed to GitLab 那一行:

创建一个新的或选择一个已有的 GitLab 工程。然后选择 Settings -> Integrations,在 URL 一栏中输入前面保存的 GitLab CI Service URL,在 Secret Token 一栏中输入前面保存的 Secret token,然后选择需要 trigger Jenkins 工程执行构建的事件

如果要测试jenkins和gitlab有没有连接成功

点击 Test 下拉框中的 Push events

点开特定调用的 View details,还可以看到这次调用的详细情况,如下图:

这就测试jenkins和gitlab连接成功了

接下来,如何使jenkins自动布署gitlab已经存在的项目呢

首先,把gitlab上的项目克隆到服务器本地

先创建一个文件夹存放git项目

执行git命令:

[root@67 gitProject]# git clone git@git.5i5j.com:kaifa/reponselogiccheck.git

然后验证项目可以在服务器本地跑通

先看看项目里的都有什么文件

[root@67 gitProject]# cd reponselogiccheck/
[root@67 gitProject]# ls

我们测试jenkins构建a.py文件(构建成功,控制台会输出Hello World)

[root@67 reponselogiccheck]# cat a.py
print("Hello World")

先来确定python3可执行文件所有的目录(配置jenkins构建job时要用)

[root@67 reponselogiccheck]# whereis python3
python3: /usr/bin/python3 /usr/local/python3

再打印出a.py的绝对路径(第1个是我存放a.py文件的位置,第2个是什么意思,现在我还说不上来,这是jenkins构建时,产生的目录吧?)

(配置jenkins构建job时要用)

[root@67 reponselogiccheck]# find / -name a.py
/home/wangju/gitProject/reponselogiccheck/a.py
/root/.jenkins/workspace/testJenkins_gitlab/a.py

我先确定脚本在shell命令下是可以执行的

[root@67 local]# /usr/bin/python3 /home/wangju/gitProject/reponselogiccheck/a.py
Hello World

最后通过shell命令配置jenkins构建项目的地址

选择已经配置好gitlab push代码自动触发jenkins构建的job

我们试一下,修改a.py的内容,并将其push到gitlab上之后,jenkins是不是构建了最新的代码的呢?

修改内容如下:

保存文件

将其push到gitlab上

先cd /home/wangju/gitProject/reponselogiccheck到本地仓库目录

执行

git add .

git status 查看是不是检测到了更新

git commit -m "update a.py"

git status

将修改后的a.py推到gitlab

git push

push 成功了

接下来就是验证jenkins有没有输出这句话了,好紧张,我现在不确定我这样的操作是不是对的

jenkins自动构建代码了

输出这句话了,yeah yeah yeah,good job well done~

如何创建一个项目,让gitlab自动触发jenkins进行构建的更多相关文章

  1. Gitlab自动触发Jenkins构建项目

    Gitlab自动触发Jenkins构建项目 一.前提 Gitlab已安装配置好. Jenkins已安装Gitlab plugin. 二.配置jenkins中Job 1.勾选触发器下的gitlab触发器 ...

  2. GitLab 自动触发 Jenkins 构建

    GitLab 是当前应用非常广泛的 Git Hosting 工具,Jenkins 是非常牛逼的持续集成工具.尽管 GitLab 有内建的 GitLab CI,但它远没有 Jenkins 那么强大好用. ...

  3. Gitlab自动触发Jenkins构建打包

    一.目的 在部门的测试环境中,开发人员一旦向gitlab仓库提交成功代码,gitlab就会自动触发jenkins构建项目.当然在构建后还可以添加项目部署或者自动化测试的脚本.这里只针对测试环境. 二. ...

  4. 配置GitHub Push自动触发Jenkins的构建

    这里以gitbook的项目为例,GitHub中的gitbook项目部署在Jenkins中,执行git push命令时自动执行Jenkins构建,其他项目只是最后的执行脚本不同 环境准备 安装Jenki ...

  5. Gitlab创建一个项目(三)使用IntelliJ IDEA开发项目

    Gitlab创建一个项目 Gitlab创建一个项目(二)创建新用户以及分配项目 1.登陆到gitlab 2.点击项目名,获取http的URL 3.idea打开,选择git 4.设置项目路径以及本地保存 ...

  6. Gitlab创建一个项目(二)创建新用户以及分配项目

    Gitlab创建一个项目(一) 1.进入gitlab控制台 2.点击“新建用户” 3.点击“Edit”,创建初始密码 4.分配项目,首页进入项目 5.进入Members菜单 6.选择用户 7.赋予权限 ...

  7. Gitlab创建一个项目

    1.安装git yum install git 2.生成密钥文件:使用ssh-keygen生成密钥文件.ssh/id_rsa.pub ssh-keygen 执行过程中输入密码,以及确认密码,并可设置密 ...

  8. 配置GitLab Push 自动触发Jenkins构建

    配置GitLab Push 自动触发Jenkins构建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客是对之前的笔记:https://www.cnblogs.com/yin ...

  9. Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送

    实现Gitlab事件自动触发Jenkins构建及钉钉消息推送 实践环境 GitLab Community Edition 12.6.4 Jenkins 2.284 Post build task 1. ...

随机推荐

  1. angularjs中比较实用的multipleselect选择框

    一. HTML HTML中比较多逻辑代码,修改的时候要注意修改很多绑值的地方. <div class="form-group"> <label class=&qu ...

  2. 用JQuery实现选中select里面的option显示对应的div

    HTML: <select name=""  onchange="select(this)"> <option value="1&q ...

  3. ASPNET Razor 使用 @Ajax.BeginForm 需要注意到的细节

    创建空的web项目,通过Nuget引用mvc组件来搭建空的MVC项目时, 在视图页面中无法使用@Ajax.BegForm来进行异步提交数据, 而新建默认的MVC模板项目却能够正常使用@Ajax.Beg ...

  4. Cocos2d坐标系具体解释

    1.笛卡尔坐标系 左手坐标系(Direct3D坐标系),右手坐标系(Direct3D坐标系) 大拇指和食指分别相应x轴和y轴 2.UI坐标系 iOS/Android/Windows SDK中的通用UI ...

  5. Android studio 解决setText中文乱码问题

    我在用Android Studio编译器的时候,总会遇到非常多乱码的问题.第一个乱码问题是在Layout文件中面定义了EditText.在代码中须要将获取到的内容填充到EditText里面,这时候假设 ...

  6. [android]Xutils具体介绍

    什么是Xutils xUtils 包括了非常多有用的android工具,xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持, ...

  7. bzoj 1036 树的统计Count

    题目大意: 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u ...

  8. istio-禁用/允许sidecar设置

    一.在namespace设置自动注入: 给 default 命名空间设置标签:istio-injection=enabled: $ kubectl label namespace default is ...

  9. E20170919-hm

    infinity   n. <数>无穷大; 无限的时间或空间;

  10. 这里有最全的C/C++入门到进阶书籍推荐,你需要嘛?

    编程是操作性很强的一门知识,看书少不了,但只有学习和实践相结合才能起到很好的效果,一种学习方法是看视频->看书->研究书中例子->自己做些东西->交流->看书. 研究经典 ...