Jenkins持续化管理工具配置

准备工作

1. 准备 Git 仓库

  • 1.1. 通过网站右上角的「+」号,选择「新建仓库」,进入新建仓库页面
  • 1.2. 新建仓库
  • 1.3. 打开项目并点击菜单栏上的【CVS】–》【Import into version control】–》【Create Git Repository】创建本地仓库
  • 1.4. 在打开的【Create Git Repository】对话框内选择本地仓库的位置,这里我选择项目的根目录。
  • 1.5. 右击项目点击【Git】–》【Add】,接着点击【Git】–》【Commit Directory】在打开的窗口中选择要上传到本地仓库的代码并添加注释后提交到本地仓库内。
  • 1.6. 右击项目点击【Git】–》【Repository】–》【Remotes…】。在打开的【Git Remotes】窗口中添加码云的远程仓库。码云的远程仓库地址可以在码云仓库内找到。
  • 1.7. 点击【OK】后接着输入码云的账号密码。
  • 1.8. 上传代码到码云,右击项目点击【Git】–》【Repository】–》【Push…】在打开的【Push commits】内可以看到已提交到本地仓库的提交信息。点击【Push】按钮将本地仓库的代码上传到码云上,上传成功后就可以在码云上看到啦。

如果要同时要提交到github上,可以使用git remote add 命令

git remote add github https://github.com/xxx/test.git

查看远程仓库,可以看到同时有github和gitee选择对应的仓库进行推送和拉取

1
2
3
4
5
6
7
8
9
git remote
github
oschina

git remote -v
github https://github.com/xxx/test.git (fetch)
github https://github.com/xxx/test.git (push)
oschina https://git.oschina.net/xxx/test.git (fetch)
oschina https://git.oschina.net/xxx/test.git (push)

[========]

项目部署

1. 准备代码,提交到码云Git库

代码中需要包含以下几部分内容:

(1)代码中需要包含Dockerfile文件

文件内容:

1
2
3
4
FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY ./target/demojenkins.jar demojenkins.jar
ENTRYPOINT ["java","-jar","/demojenkins.jar", "&"]

(2)在项目pom文件中指定打包类型,包含build部分内容

2. 安装JAVA 运行环境

第一步:上传或下载安装包

1
2
cd /usr/local
jdk-8u121-linux-x64.tar.gz

第二步:解压安装包

tar -zxvf jdk-8u121-linux-x64.tar.gz

第三步:建立软连接

ln -s /usr/local/jdk1.8.0_121/ /usr/local/jdk

第四步:修改环境变量

1
2
3
4
5
6
7
8
9
vim /etc/profile

export JAVA_HOME=/usr/local/jdk

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

通过命令source /etc/profile让profile文件立即生效

source /etc/profile

第五步、测试是否安装成功

使用java -version,出现版本

3. 安装maven

第一步:上传或下载安装包

1
2
cd/usr/local
apache-maven-3.6.1-bin.tar.gz

第二步:解压安装包

tar -zxvf apache-maven-3.6.1-bin.tar.gz

第三步:建立软连接

ln -s /usr/local/apache-maven-3.6.1/ /usr/local/maven

第四步:修改环境变量

1
2
3
vim /etc/profile
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin

通过命令source /etc/profile让profile文件立即生效

source /etc/profile

第五步、修改镜像源为阿里

1
2
3
4
5
6
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

第六步、测试是否安装成功

mvn –v

4. 安装git

yum -y install git

5. 安装docker

第一步:安装必要的一些系统工具

yum install -y yum-utils device-mapper-persistent-data lvm2

第二步:添加软件源信息

1
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第三步:更新并安装Docker-CE

1
2
3
yum makecache fast

使用yum list docker-ce --showduplicates | sort -r查看所有仓库中所有docker版本,并选择特定版本安装

yum -y install docker-ce-18.03.1.ce

第四步:开启Docker服务

service docker start

第五步、测试是否安装成功

docker -v

6. 安装Jenkins

下面采用rpm方式安装,你也可以选择使用war包安装

下载对应版本的jenkins

wget https://pkg.jenkins.io/redhat-stable/jenkins-2.222.1-1.1.noarch.rpm

到对应下载目录执行

rpm -ivh jenkins-2.164.1-1.1.noarch.rpm

等待安装完成,修改jenkins配置

一、在jenkins配置文件中配置jdk环境变量

vim /etc/init.d/jenkins

二、配置Jenkins的端口(若果端口被占用)
vim /etc/sysconfig/jenkins

三、修改jenkins默认的操作用户(重要,后面使用git可能会提示没权限)

linux下jenkins默认使用jenkins用户进行脚本和文件的操作,如果不修改,在部署项目时需要调整涉及到的文件和目录的操作权限,可以调整jenkins配置文件,将用户修改为root用户。将JENKINS_USER=”jenkins”调整为JENKINS_USER=“root”:

vim /etc/sysconfig/jenkins

修改相应的权限

1
2
3
4
chown -R root /var/log/jenkins
chgrp -R root /var/log/jenkins
chown -R root /var/log/jenkins
chgrp -R root /var/log/jenkins`

五、启用端口

vim /etc/sysconfig/iptables

六、启动jenkins

service jenkins start

七、访问jenkins,初始化配置jenkins

  • 初始化jenkins
  • 解锁jenkins
  • 查看管理员密码

cat /var/lib/jenkins/secrets/initialAdminPassword

复制粘贴密码后,点击继续

注意:配置国内的镜像
官方下载插件慢 更新下载地址

cd {你的Jenkins工作目录}/updates #进入更新配置位置

1
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

这是直接修改的配置文件,如果前边Jenkins用sudo启动的话,那么这里的两个sed前均需要加上sudo

重启Jenkins,安装插件,耐心等待安装完成

创建管理员用户

配置jenkinsURL

开始使用jenkins

一、配置jenkins
1.系统管理

2.全局安全配置

安全矩阵说明:

给用户配置权限

3.全局工具配置

Maven 配置

这里可以选择默认,主要在下面配置Maven路径

使用which jdk查看jdk环境变量

添加jdk,配置git路径

配置maven路径

以上三个都选择上面准备好的那个路径(不要选自动安装)

  1. 构建作业
    4.1点击创建一个新任务,进入创建项目类型选择页面

填好信息点击“确认”

4.2配置“General”

4.3配置“源码管理”

填写源码的git地址

添加git用户,git的用户名与密码

选择添加的用户,上面的红色提示信息消失,说明连接成功,如下图

4.4构建作业

到源码中找到docker脚本

选择“执行shell”

4.5构建

构建作业之后,就可以执行构建过程了。

4.5.1执行构建过程

日志内容:

看到Finsh Success 那应该问题就不大了

问题记录

  1. 全局git配置要到具体的bin目录下的/usr/local/git/bin/git (不是直接配置git路径名就行)
  2. 授予jenkins权限,不然后面拉取项目时,提示git没权限
  3. 注意配置对应git的用户名和密码(github,gitee),配置正确后,源码下面那块爆红提示会消失的
  4. 在执行Execute shell时注意如果出现mvn 命令未找到,但是ssh中可以正常使用mvn命令,可能是因为下面的问题

Jenkins下执行 mvn 命令会提示“命令未找到”,但是执行如 ls 等原生命令没有任何问题。在Linux主机是通过修改 /etc/profile 文件来配置环境变量,则问题可能是Jenkins在执行shell脚本时没有加载 /etc/profile 文件,因此找不到 nmvn命令,会提示“命令未找到”。

Jenkins默认情况下执行shell脚本是使用非登录方式,然而非登录方式不会加载 /etc/profile 文件,在 Execute shell 中 添加如 #!/bin/sh -l 命令修改为登录方式即可解决问题。