一文搞懂jenkins安装部署(Docker)

一、简介:
本文主要记录如何通过docker安装jenkins,并通过jenkins部署项目,最终效果:在jenkins对某个项目点击构建,jenkins就会去gitLab上拉取最新项目的最新代码,然后根据pom.xml文件,把项目打包成jar,并自动把这个最新的jar运行起来,达到一键式构建的目标。

二、操作步骤

1)前提条件,首先需要安装jdk,maven,git。

jdk安装,首先将安装包放入到服务器的/usr/local/src目录中,比例采用jdk-11.0.13_linux-x64_bin.tar版本

cd /usr/local/src

tar -zxvf jdk-11.0.13_linux-x64_bin.tar.gz

vi /etc/profile

#在此文件最后增加如下代码

JAVA_HOME=/usr/local/src/jdk-11.0.13
 
PATH=$JAVA_HOME/bin:$PATH
 
CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
 
export PATH JAVA_HOME CLASSPATH

#重新加载配置文件
source /etc/profile    

#验证是否配置成功
java -version

maven安装,首先下载maven的tar包,然后将tar包放入到/usr/local/maven目录中,本例采用apache-maven-3.8.5-bin.tar版本,如果maven有本地仓库,注意修改配置文件settings.xml

cd /usr/local        

mkdir maven  							

cd maven

# 将安装包 复制到指定位置  然后解压
tar -zxvf   apache-maven-3.8.5-bin.tar	

vi   /etc/profile  
#在profile中添加如下配置:
export M2_HOME=/usr/local/maven/apache-maven-3.8.5
export PATH=${PATH}:$JAVA_HOME/bin:$M2_HOME/bin

#重新加载配置文件
source /etc/profile        

#验证是否安装成功
mvn -v

git安装,将git的tar包,放入到服务器的/usr/local/git目录中,本例采用git-2.33.1.tar版本

cd /usr/local

mkdir git

cd git

tar -zxvf git-2.33.1.tar.gz

#安装git 编译环境  过程较慢 耐心等待
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

#进入git解压缩后的目录中
cd git-2.33.1

##执行以及语句编译源码 
make prefix=/usr/local/git all      
make prefix=/usr/local/git install

#如果执行以上语句报错,make: curl-config: Command not found
yum install curl -y
#如果仍然报错,安装curl-devel
yum -y install curl-devel
#如果仍然报错,cc: command not found
sudo yum -y install gcc gcc-c++ libstdc++-devel

# 如果仍然报错,可以执行以下语句,然后再次执行编译环境语句
yum clean all
yum makecache

vi /etc/profile
#在文件最后 增加如下配置
export PATH=/usr/local/git/bin:$PATH

#增加成功后,刷下配置文件
source /etc/profile
git --version


2)首先拉取docker镜像文件,选择自己需要的版本  注意不能直接使用官网的jenkins:版本,否则无法下载插件,需要使用jenkins/jenkins:版本

docker pull jenkins/jenkins

3)运行镜像   运行前解决小坑,挂载目录权限设置,否则运行报错,查看日志会提示没有权限

chown -R 1000:1000 /var/jenkins_mount/
docker run -d --restart=always -p 12345:8080 -p 12346:50000 -v /var/jenkins_mount:/var/jenkins_home  -v  /usr/local/maven/apache-maven-3.8.5:/usr/local/maven  -v /usr/local/src:/usr/local/src  -v /usr/local/git/bin/git:/usr/local/git -v /etc/localtime:/etc/localtime --name jenkins  jenkins/jenkins

4)jenkins配置,容器运行成功后,即可登录ip:12345端口,打开如下图所示界面:

一文搞懂jenkins安装部署(Docker)_第1张图片

账号为admin  密码为挂载路径下的文件中保存,如下图所示

 按图中提示位置,找到密码,登录成功后出现如下图所示界面:

首先配置jdk,maven,git

在jenkins管理,全局配置中,配置jdk,maven,git,如下图所示:

一文搞懂jenkins安装部署(Docker)_第2张图片

一文搞懂jenkins安装部署(Docker)_第3张图片

注意上图处直接填写git即可 

一文搞懂jenkins安装部署(Docker)_第4张图片

maven_home注意是容器内部映射地址

 jenkins系统配置,包括publish over ssh,远程ssh服务器配置(用来发布jar包的服务器)等

首先配置publish over ssh

进入容器内部

docker exec -it jenkins /bin/bash

 然后执行密钥对生成命令

ssh-keygen -t rsa

 一直按回车,直到完成,如下图所示,会有生成路径提示

一文搞懂jenkins安装部署(Docker)_第5张图片

 完成后,在Passphrase中输入登录账号的密码,Path to key内输入私钥的文件地址,key中输入私钥的文本内容,如下:

/var/jenkins_home/.ssh/id_rsa

最终效果:

一文搞懂jenkins安装部署(Docker)_第6张图片

 接下来配置 ssh servers,此处为打包jar的服务器,如下图所示,输入完ip和用户名后,需要点击高级,勾选Use password authentication, or use a different key,然后输入远程服务器的登录密码和端口号,点击测试配置,提升success,则可以正常访问此服务器。

一文搞懂jenkins安装部署(Docker)_第7张图片

以上配置完成后,就可以创建视图,管理工程了,my view ->new item,输入工程名称,选择构建一个maven项目

一文搞懂jenkins安装部署(Docker)_第8张图片

 开始配置项目,首先配置general内容,选择丢弃旧的构建,然后输入保持构建的最大个数为3一文搞懂jenkins安装部署(Docker)_第9张图片配置源码管理,选择git,输入项目的git地址,然后输入账号密码,账号密码可以是正常项目成员的账号密码,也可以是公钥私钥等形式,此处选择git项目下的成员账号密码,如下图所示:

一文搞懂jenkins安装部署(Docker)_第10张图片

构建环境配置

一文搞懂jenkins安装部署(Docker)_第11张图片

sourcefiles为jenkins构建成功后保存的地址,注意是相对路径,不是绝对路径,否则无法上传到目标服务器,比如我的构建后目录为/var/jenkins_home/workspace/shj-backend/target ,jar包存储在此目录下,则sourcefiles地址填写target/model-service-backend.jar,remove prefix填写target,remote directory根据情况填写,及目标服务器的实际存储jar包的路径,由于之前ssh servers中已经配置全路径,所以此处为空。

exec command,此处为在远程服务器上执行的脚本命令,可以根据实际需要编写,本项目为docker部署,以重启容器为例,docker restart app01.

build配置,高级选项中关闭自动指纹验证功能,否则构建会非常慢

一文搞懂jenkins安装部署(Docker)_第12张图片

 

你可能感兴趣的:(jenkins,docker,运维)