安装配置jenkisn是的gitlab上可以通过webhook自动触发构建

Jenkins是开源的,使用Java编写的持续集成的工具,在Centos上可以通过yum命令行直接安装。记录下安装的过程,方便以后查找。需要先安装Java,如果已经Java可以跳过该步骤。


1.安装Java
  看到当前系统Java版本的命令:
  java -version
  如果显示Java版本号,说明已经正确安装,如果显示没有该命令,需要安装Java:
  sudo yum install java
  该命令如果检测到Java不存在可以直接安装Java,如果已存在则可以升级Java。


2.安装Jenkins
  首先要先添加Jenkins源:
  sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
  sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key(如果想安装稳定版本redhat替换成redhat-stable)
  添加完成之后直接使用yum命令安装Jenkins:
  yum install jenkins
  或者使用下面的方式安装jenkens
  wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
  sudo java -jar jenkens.war


3.启动Jenkins
  使用命令启动Jenkins:
  sudo service jenkins start显示Starting Jenkins                      [ OK ]
  然后在浏览器中输入:http://<服务器ip>:8080/ 就可以进入Jenkins界面直接使用了 。
  停止Jenkins服务的命令为:
  sudo service jenkins stop


4.如果页面打不开考虑以下两个配置
  如果浏览器还是打不开,需要查看阿里云是否开放8080端口,可以去实例--安全组配置--配置规则里面--添加安全组规则
  编辑端口范围8080/8080,授权对象0.0.0.0/0
  另一个是防火墙问题
  sudo systemctl stop firewalld.service   #停止firewall       
  sudo systemctl disable firewalld.service #禁止firewall开机启动


5.安装jenkins后,在系统管理的插件管理安装依赖的插件
   GitHub
   GitLab Plugin 和 Gitlab Hook Plugin和Build Authorization Token Root Plugin插件和Gitlab Authentication plugin插件


6.安装jenkins后,是需要安装git的,  centos/linux下的安装git


  1.下载git
      wget https://github.com/git/git/archive/v2.14.1.zip
  2.安装依赖
      sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
  3.解压git
      unzip v2.14.1.zip
  4.将git安装到/usr/local上,先进入git文件夹
      cd git-2.14.1
      make prefix=/usr/local all
      make prefix=/usr/local install
  5.验证是否安装完成
      git --version    
7.配置公钥密钥
  1.切到jenkins用户
    su - jenkins
  2.新建ssh-key
    ssh-keygen -t rsa
  3.查看公钥密钥
    cat ~/.ssh/id_rsa.pub 
    复制公钥放到gitlab的上新增一个ssh  
    cat ~/.ssh/id_rsa
    复制私钥放到jenkins上新增一个Credentials  


  通过新建项目即可实现gitlab和jenkins的通信


8.新升级的jenkins需要配置token才能使用web hook来触发自动构建
  1.为了令牌的安全性,我们在使用openssl生成一个
    openssl rand -hex 10   比如生成0a37c6d7ba1fe3472e26
    在jenkins上某个项目里面的构建触发器标签下,勾选触发远程构建(使用脚本)
    身份验证令牌里面填写上面生成的令牌
  2.然后再gitlab某个项目下的webhook 里面填写
    http://x.x.x.x:8080/buildByToken/build?job=项目名称&token=0a37c6d7ba1fe3472e26




解决jenkins系统日志过大问题
1、每次手动删除 /var/log/jenkins/jenkins.log 该文件,
2、而且删除后需要重启下jenkin,http://xxxxxxxxxx:8080/restart
备注 用命令重启则用下面的语句
sudo /etc/init.d/jenkins restart

猜你喜欢

转载自blog.csdn.net/hsany330/article/details/79494064
今日推荐