前进是:你已经配置好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. C#: 旋转图片到正确位置

    当从iPhone等手机上传图片到服务器后,通常需要进行旋转处理,否则在进行图片压缩.缩放处理后会丢失正确的位置信息,导致显示的图片不处于正确的位置上. 处理的做法就是读取照片的Exif信息,并旋转到正 ...

  2. 喜欢玩warcraft的ltl

    喜欢玩warcraft的ltl 时间限制:2000 ms  |  内存限制:65535 KB 难度:3 描写叙述 ltl 很喜欢玩warcraft.由于warcraft十分讲究团队总体实力,而他自己如 ...

  3. Matlab得到二值图像中最大连通区域

    有时候要将二值化图像中最大的连通域保存下来.以下函数提供了一种方法: %function [img]=maxLianTongYu(I):求图像中最大的连通域 %输入:I 输入图像 %输出:img 仅包 ...

  4. 「五」创建一个带 tomcat 服务的基础镜像(修订版)

    Tomcat Tomcat 简单介绍 Tomcat server是一个免费的开放源码的Web 应用server,属于轻量级应用server.在中小型系统和并发訪问用户不是非常多的场合下被普遍使用,是开 ...

  5. logistic regression教程1

    实现线性拟合 我们用python2.7实现上一篇的推导结果.请先安装python matplotlib包和numpy包. 具体代码如下: #!/usr/bin/env python #! -*- co ...

  6. 关于C语言指针的一些新认识(2)

    在使用C语言编程的过程中,遇到了很多关于指针使用的小问题,这里总结一下就当做是编程的小技巧啦 Q1. 如何用printf( )输出指针 这个问题相当于如何用printf( )输出地址,答案是:用"%p ...

  7. 查找两个大文件(1G以上)的相同内容PHP版

    这是是一个大文件处理,面试官出题的意图并不希望你两层for循环进行遍历,这种答案肯定是不会要的! 这道题目的解法思路是: 顺序读取两个文件的的全部记录 将每条记录经过hash->转换为10进制- ...

  8. Levenberg–Marquardt algorithm

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFubWVuZ3dlbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  9. 【EasyUi DataGrid】批量删除

    DataGrid是我们做网页经常使用到的组件之中的一个,对它的操作也无非是增删改查操作.单条数据的增删改相对来说比較简单.添加.改动能够直接在DataGrid中进行,也能够用弹出框的形式把数据装载在文 ...

  10. 如何理解Apache License, Version 2.0(整理)

    如何理解Apache License, Version 2.0(整理) 问题: 最近看到apache发布了2.0版本的License.而且微软也以此发布了部分源代码.我对OpenSource不是特熟, ...