搭建jenkins实现自动化部署

1、安装jenkinshtml

一、添加yum repos,而后安装java

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

 注:若是上边的执行成功就不用再执行这两行了linux

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/RedHat/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

 注:若是网络很差须要重试几回git

sudo yum install jenkins

二、若是未安装java还需安装javavim

sudo yum install java

三、启动和中止centos

sudo service jenkins start
sudo service jenkins stop
sudo service jenkins restart

sudo chkconfig jenkins on

若是启动失败,能够运行以下命令查看错误信息api

systemctl status jenkins.service

如上错误是java配置错误,须要修改jenkins配置文件bash

vi /etc/rc.d/init.d/jenkins

相似以下修改:服务器

candidates="
************
************
/usr/local/jdk1.8/bin/java
"

四、jenkins的默认设置网络

  Jenkins会随系统启动而启动。详情参照/etc/init.d/jenkins
  Jenkins会建立一个用户叫作jenkins, 若是你修改了user,则要修修改所属者:/var/log/jenkins,/var/lib/jenkins,/var/cache/jenkins
  若是遇到问题,查看日志/var/log/jenkins/jenkins.log
  配置文件/etc/sysconfig/jenkins
  默认启用8080

 五、打开和关闭防火墙

  开启非80端口须要打开防火墙,参考:http://www.cnblogs.com/rslai/p/7954080.html

六、关于centos上的java
  Jenkins不支持在centos的默认的jdk上工做。若是以下所示,则须要remove:

  java -version
  java version "1.5.0"
  gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3)
  为了正确使用Jenkins:

  yum remove java
  而后能够安装openjdk

  yum install java-1.7.0-openjdk
  正确以下:

  java -version
  java version "1.7.0_79"
  OpenJDK Runtime Environment (rhel-2.5.5.1.el6_6-x86_64 u79-b14)
  OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

七、配置java路径
直接启动:

sudo service jenkins start
可是发现启动失败,因而须要配置java位置:

vi /etc/init.d/jenkins
在启动加入本机的java:

[root@iZ94xvn71eeZ ~]# vim /etc/init.d/jenkins


# Set up environment accordingly to the configuration settings
[ -n "$JENKINS_HOME" ] || { echo "JENKINS_HOME not configured in $JENKINS_CONFIG";
if [ "$1" = "stop" ]; then exit 0;
else exit 6; fi; }
[ -d "$JENKINS_HOME" ] || { echo "JENKINS_HOME directory does not exist: $JENKINS_HOME";
if [ "$1" = "stop" ]; then exit 0;
else exit 1; fi; }

# Search usable Java as /usr/bin/java might not point to minimal version required by Jenkins.
# see http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
/usr/java/jdk1.7.0_80/bin/java

 八、配置端口

  修改

vi /etc/sysconfig/jenkins

  内容改成须要的端口

JENKINS_PORT="8080"

九、yum安装Jenkins默认路径为

  /var/lib/jenkins

2、进入jenkins

一、打开

http://192.168.3.231:8080

二、查看密码,将内容填写到密码处点击继续

cat /var/lib/jenkins/secrets/initialAdminPassword

三、选择默认插件便可  

四、设置管理员

 3、安装和Git,GitLab插件

一、安装git客户端

  Linux安装配置git参见,只须要安装客户端不须要产生sshkey,若是你又想再jenkins上用git又想直接再linux上用再生成key

  http://www.cnblogs.com/rslai/p/8175864.html

二、安装git插件

三、在这里将安装和Git,GitLab插件,注意使用ctrl+f查找

四、配置gitLab链接

五、找到Gitlab配置,以下图

  name:能够随便写一个

  host URL:host地址注意只填写host不要库地址写http地址便可

  credentials:选择一个证书

   新建一个证书,选择add->Jenkins添加一个证书

  kind:选择GitLab API token

  API token:输入token,如何找到token参见下面 

  查找token,token须要在gitLab中查找,不一样版本的gitLab方式不一样

    a)在Access Tokens中就显示了api token直接copy便可

    b)在以下页面填入名字和过时时间后自动生成token,生成后必定要使用记事本记下来,以后没法查看该token

   回到Jenkins设置token后Test Connection,若是测试成功

4、新建item

一、生成ssh key 

因为jenkins执行脚本的使用使用的是jenkins这个帐号,因此公钥私钥须要放在此用户的目录里。

a)因为此帐号是一个不容许登陆且修改了home目录的帐号,因此须要先执行 vi /etc/passwd 查看一下jenkins帐号的home目录,在里边找到jenkins这个帐号其中红框部分为他的home目录

b)生成root(不是root其它帐号也可)帐号的sshkey

ssh-keygen -t rsa -C "root@192.168.3.231" -b 4096 # 生成公钥私钥,注意双引号内是个助记符根据须要修改
cd /root/.ssh # 进入ssh目录
git ls-remote -h ssh://git@118.188.3.87:1022/html/tamH5.git HEAD # 连一下git服务器,生成known_hosts文件
ll # 查看文件

若是没有 known_hosts 文件以后Jenkins发布时会有以下错误 “Host key verification failed.”

c)进入jenkins目录将刚才建立的sshkey复制过来并将全部者指到jenkins帐号

cd /var/lib/jenkins # 进入jenkins的home目录
mkdir .ssh # 建立ssh目录存放sshkey文件,若是存在会报错
cd .ssh
cp /root/.ssh/* . # 将root帐号下的sshkey文件复制过来,此时若是执行ll看一下这两个文件全部这应该是root
chgrp jenkins * # 将key文件的组改成jenkins
chown jenkins * # 将key文件的全部者改成jenkins

d)此时pwd再ll应该看到以下内容  

二、打开 id_rsa.pub 将其中内容复制到记事本中,而后再copy到git服务器上

三、访问gitlab将刚才生成的公钥添加到ssh keys中

 

四、建立证书

  a)Jenkins -> Credentials

 

  b)global -> Add credentials新建一个证书

  c)填写证书信息

    kind:选择 SSH Username with private key

    Username:随便输入,以后在建立item是记得住选择那个便可

    Priveate key:选择“Enter directly”后输入私钥,记住必定是私钥 (按照上步骤在linux上生成密钥后,会是一对其中带pub后缀的是公钥。id_rsa私钥、id_rsa.pub公钥)。在linux执行cat id_rsa将全部内容copy填入key中

    Passphrase:不填,若是填了每次都须要输入密码

    填好后点击“ok”保存

二、新建item

  a)新建Item

  b)输入任务名称,选择“构建一个自由风格软件项目”后单击“肯定”

  

   c)在GitLab connection处选择刚才建立的链接(输入git host时建立的链接)

    选择git并Credentials处选择刚才输入私钥的证书

    Repository URL输入git项目地址(注意输入时需添加ssh注意若是修改端口应填写ssh://git@host:port/xxxxxx/xxxxx.git)

    以后单击“保存”便可。

 

三、构建job 

  a)进入demo job

 

  b)点击“当即构建”

    因为item只配置了git因此只会clone git,clone后在以下目录中,以job名称为目录保存

     /var/lib/jenkins/workspace

 

 

 

构建后目录

./var/lib/jenkins/workspace/

根据job名字放到相应目录

 

 

 

 

 

 

 

 

 

 

 

 

 

安装插件 

 

 

 

 

 

 

 

 

 

参考文档:

  http://blog.csdn.net/achuo/article/details/51086599

  http://blog.csdn.net/wangfei0904306/article/details/56011877

相关文章
相关标签/搜索