Linux下配置Jenkins+gitlab持续集成构建流程

发表于:2018-4-16 11:06  作者:核桃   来源:掘金

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 软件测试工具 jenkins 持续集成 集成测试

  本文将简单介绍如何在Linux下配置Jenkins+gitlab持续集成构建流程
  目标:
  1、能构建成功并发布到测试环境
  2、gitlab推指定分支代码可以触发构建
  3、设置开发者邮箱通知
  流程
  1、linux基础
  2、环境:java node jenkins git yarn 注意:全局环境变量的配置
  3、Jenkins 配置
  4、gitlab->webhook 配置
  webhook: webhook插件允许你建立或设置GitLab上订阅某些事件。当其中一个事件被触发时,我们将发送一个HTTP POST负载到webhook的配置URL。webhook可以用来更新外部问题跟踪器、触发CI构建、更新备份镜像,甚至部署到生产服务器。
  linux基础
  命令
  · pwd: 查看当前目录
  · vi 目录: 进入编辑该目录
  esc + : + q + !: 强制退出不保存
  esc + : + w + q: 保存并退出
  · source /etc/profile: 修改后的/etc/profile文件立即生效
  shift + g: 到达文件底部
  mv 原名称 新名称: 重命名
  · yum命令
  步骤
  软件安装
  wget
  yum install wget
  unzip
  yum install unzip
  nodejs
  · 查看Linux系统位数
  uname -a
  · 进入安装目录(/usr/local/src)
  · 下载对应安装包
  wget https://nodejs.org/dist/v8.5.0/node-v8.5.0-linux-x64.tar.xz
  · 解压并进入
  tar -zxvf node-v8.5.0-linux-x64.tar.xz
  z: 有gzip属性的
  x: 解压
  v: 显示所有过程
  f: 使用档案名字,该参数只能放在最后
  出现如上错误说明这个压缩包没有用gzip格式压缩,所以上述解压命令去掉z就行
  · 配置全局变量
  编辑 /etc/profile文件
  在文件尾部添加如下代码,保存并退出文件
  export NODE_PATH=/usr/local/src/node-v8.5.0-linux-x64/bin
  export PATH=$PATH:$NODE_PATH
  · 检验是否配置为全局变量
  node -v
  npm -v
  yarn
  npm install --global yarn@13.2
  java
  1、安装
  wget http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz?AuthParam=1521104652_72aaa3f990b00fe806f0156100c8c245
  2、重命名
  mv jdk-8u161-linux-x64.tar.gz?AuthParam=1521104652_72aaa3f990b00fe806f0156100c8c245  java-jdk.tar.gz
  3、解压
  tar xzf java-jdk.tar.gz
  4、配置全局变量
  export JAVA_HOME=/usr/local/jdk1.8.0_91
  export PATH=$JAVA_HOME/bin:$PATH
  export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  git
  · 下载,压缩,进入目录
  wget https://github.com/git/git/archive/v1.7.1.zip
  unzip v1.7.1.zip
  cd git-1.7.1
  · 安装需要的插件
  yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
  · 编译, 安装
  make prefix=/usr/local/git all
  make prefix=/usr/local/git install
  · 配置全局环境变量
  编辑/etc/profile
  文件尾部添加如下代码,保存并退出文件
  export PATH=/usr/local/git/bin:$PATH
  · 配置git
  设置user,生成ssh key
  git config --global user.name "xxx"
  git config --global user.email "mailto:xxx@gmail.com"
  ssh-keygen -t rsa -C "mailto:qiubing.it@gmail.com"
  · 将上述生成的ssh key添加到gitlab
  cat ~/.ssh/id_rsa.pub
  复制内容,头部加上ssh-rsa
  Jenkins
  wget http://updates.jenkins-ci.org/download/war/2.109/jenkins.war
  Jenkins + gitlab 配置
  Jenkins配置(1)===》推荐使用
  · 启动Jenkins
  nohup java -jar /root/app/jenkins.war --httpPort=8080 2>&1 &
  &:当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上& 实现后台运行
  nohup: 当使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是一旦把当前控制台关掉(退出账户时),作业就会停止运行。nohup命令可以在用户退出账户之后继续运行相应的进程。
  注: 1. 第一次启动时需要输入一个秘钥(xshell中可看到)
  2. 默认admin登录的话密码在.jenkins/secrets/initialAdminPassword文件里(下次登录使用)
  3. 也可以修改密码
  · 新建一个项目
  · jenkins配置hookplugin
  安装插件:系统管理 --> 管理插件 --> 可选插件 --> 选择安装 gitplugin,gitlab ,gitlab plugin,gitlab hook plugin,  Build Authorization Token, gitlab Authorization
  项目配置
  general: 填写项目名称
  源码管理:
  构建触发器:
  正则过滤触发分支
  记录下url
  记录下token
  · 写打包命令
  Jenkins配置(2)===》不知如何选择触发分支
  · 随机生成token
  openssl rand -hex 12
  会生成一串token,保存下来
  构建触发器
  勾选‘触发远程构建(例如,使用脚本)’,在身份验证令牌栏输入随机生成的token:上面保存的
  记录url
  勾选上‘gitlab hook trigger for gitScm polling’
  gitlab配置
  · 添加ssh key
  · 配置webhook
  选择项目 --> setting --> webhook
  填写上面保存的url
  填写上面保存的token
  添加webhook
  test(测试流程是否能跑通)
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
21/212>

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2018, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道