1.简介

java语言开发,用于监控持续重复的工作,包括:持续的软件版本发布/测试项目,监控外部调用执行的工作。

Jenkins中文网:http://www.jenkins.org.cn/

Jenkins官网:https://www.jenkins.io/zh/

https://www.cnblogs.com/shog808/p/13208251.html

  Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

2.Jenkins自动化部署实现原理

3.Jenkins部署环境

  基本环境:

  1.jdk环境,Jenkins是java语言开发的,因需要jdk环境。

  2.git/svn客户端,因一般代码是放在git/svn服务器上的,我们需要拉取代码。

  3.maven客户端,因一般java程序是由maven工程,需要maven打包,当然也有其他打包方式,如:gradle

  以上是自动化部署java程序jenkins需要的基本环境,请自己提前安装好,下面着重讲解Jenkins的安装部署配置。java需要安装两个,一个yum安装给jenkins依赖用,一个源码安装给jenkins配置用

4.Jenkins安装

1.下载依赖

yum install gcc c++ epel* wget

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

2.导入秘钥

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

 3.安装

yum install jenkins java git -y #等待安装时间较长,约25min

4.启动前检查是否已安装jdk

java   #显示java参数即证明已安装jdk

5.查找jenkins安装路径

rpm -ql jenkins

 

jenkins相关目录释义:
(1)/usr/lib/jenkins/:jenkins安装目录,war包会放在这里。
  ( 2 ) /etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在这里配     置。
(3)/var/lib/jenkins/:默认的JENKINS_HOME。
(4)/var/log/jenkins/jenkins.log:jenkins日志文件。

6.配置jenkins
(1)查找jenkins端口

vim /etc/sysconfig/jenkins
:set ignorecase
/jenkins_port 回车

(2)查看其他端口占用情况 

netstat -ntlp

systemctl daemon-reload

systemctl enable jenkins

systemctl start jenkins  #启动jenkins,启动较慢需要等待

5)验证jenkins能否打开
在宿主机浏览器输入http://IP:Port
我这里输入:http://192.168.114.128:8080(修改端口后输入:http://192.168.114.128:8899)。

 

cat /var/lib/jenkins/secrets/initialAdminPassword

  =>获取密码=>输入密码=>继续
=>安装插件=>retry几次可安装成功
=>注册账号 (记录好账号密码)
=>开始使用Jenkins

CentOS7安装jdk1.8 maven3.6

cd /usr/local/

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
tar xzf jdk-8u141-linux-x64.tar.gz

vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_141
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

tar -xf apache-maven-3.6.3-bin.tar.gz -C /usr/local/
mv /usr/local/apache-maven-3.6.3/ maven
source /etc/profile

mvn -v

进行全局工具配置

一,jenkins全局工具配置,maven.jdk和git需要配置路径,

管理插件安装-可选插件-Role-based Authorization Strategy 与 Authorize Project 安装下载  GitLab

Localization: Chinese(中文显示插件)Credentials Binding(凭证插件)Maven Integration(maven项目构建必须要) Git(拉取代码插件publish over ssh/ssh plugin(连接凭证) Deploy to container(部署到远程服务器容器)

which git

/usr/bin/git  安装路径

需要增加jdk的安装路径,上面maven配置默认,最下面那个新增maven填写安装路径

系统配置里面增加三个全局属性

JAVA_HOME

/usr/local/jdk1.8.0_141

M2_HOME
/usr/local/maven

PATH+EXTRA
$M2_HOME/bin

 

gitlab配置token作为gitlab访问秘钥, 

 

Maven仓库地址更改,要改一个地方

vi /usr/local/maven/conf/settings.xml

    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>

 mvn clean package    #mvn打包命令

构建时候如果是本地依赖需要找开发要把依赖包手动传到maven仓库,centos7默认maven仓库地址为/root/.m2/repository/com,另外如果是云效有云效的maven仓库就上传云效仓库

 pom.xml   # 指定的是仓库的com里面,将这个目录仍进去就行,目录名要一致 

       

 二,管理插件安装-可选插件-Role-based Authorization Strategy 与 Authorize Project 安装下载  

Localization: Chinese(中文显示插件)Credentials Binding(凭证插件)Maven Integration Git(拉取代码插件publish over ssh/ssh plugin(连接凭证) GitLab

jenkins默认添加的所有用户都是拥有最高权限,这个插件用来分配权限

 两个插件安装成功

三,配置全局安全Configure Global Security- 选上保存

 

 

 管理角色授权,分配权限工具

jenkins误删管理员权限补救办法

1.修改jenkins服务器config.xml
我这里jenkins路径是 /var/lib/jenkins。

编辑之前先进行备份:

cp config.xml config.xml.bak
将 <useSecurity>true</useSecurity> 改为false。

2.重启jenkins
service jenkins restart
此时已经关闭登录认证,不需要登录就可以访问jenkins地址,并具有所有权限。

3.修改全局安全配置
安全域选择  Jenkins’ own user database,否则会导致无法登录。网络策略我用的是 Role-Based Strategy(用户角色策略),这里再重新勾回去。然后重新配置一下权限,就可以恢复到之前的状态。

4.Jenkins凭证管理

下载安装插件

 

凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便
Jenkins可以和这些第三方的应用进行交互。

 

 ​​​​​​

         系统配置里面添加gitlab的token并且测试成功

采用ssh秘钥连接认证

到jenkins服务器上生成公私钥,公钥放复制到gitlab上,私钥复制放jenkins上

 ssh-keygen -t rsa

cat id_rsa.pub

 

 cat id_rsa

 ssh配置成功

假如下载插件失败可以更换下载地址 

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐