docker安装
001 准备环境
[root@bogon ~]# tar -xzvf jdk-8u45-linux-x64.tar.gz
[root@bogon ~]# mv jdk1.8.0_45 /usr/local/jdk
[root@bogon ~]# tar -xzvf apache-maven-3.5.0-bin.tar.gz
[root@bogon ~]# mv apache-maven-3.5.0 /usr/local/maven
vi /etc/profile
JAVA_HOME=/usr/local/jdk
PATH=$JAVA_HOME/bin:$PATH:/usr/local/maven/bin
export JAVA_HOME PATH
[root@gitlab ~]# source /etc/profile
#网址
https://developer.aliyun.com/mvn/guide
#阿里云仓库
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
#修改setting
/usr/local/maven/conf
[root@localhost webapps]# tar -xzvf apache-tomcat-8.5.59.tar.gz
[root@localhost webapps]# mv apache-tomcat-8.5.59 /usr/local/tomcat
[root@localhost webapps]# cd /usr/local/tomcat/
[root@localhost webapps]# cd webapps/
[root@localhost webapps]# rm -rf *
002 运行jekins
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -u root \
-v /opt/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /usr/local/maven:/usr/local/maven \
-v /usr/local/jdk:/usr/local/jdk \
-v /etc/localtime:/etc/localtime \
--restart=always \
--name jenkins jenkins/jenkins:lts
003 查看初始化密码
[root@bogon ~]# docker logs jenkins -f
d88c66cab6024fa7896dc03fa6bf9819
004 自定义安装
选择插件安装
[无]-[安装]
创建用户

1634261140171.png
Jenkins基本配置
001 修改数据源
[root@bogon updates]# cd /opt/jenkins_home/updates
[root@bogon updates]# yum -y install sed
[root@bogon updates]# sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.ed u.cn\/jenkins/g' default.json
[root@bogon updates]# sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
002 重启Jenkins
http://192.168.153.19:8080/restart
003 安装中文插件
{Manage Jenkins} {Manage Plugins} {Available}
搜索{Locale plugin}
{Install without restart}
搜索{Chinese (Simplified) }
{Install without restart}
{Manage Jenkins} {Configure System}
{Locale} [zh_cn]
{save}
004 重启Jenkins
http://192.168.153.19:8080/restart

1634265695607.png
Jenkins项目管理
001 新建项目
新建Item

1634287326505.png
002 丢弃旧的构件

1634282591803.png
003 Parameter创建

1634282895359.png
004 Parameter构建
Execute shell
echo $env

1634283297396.png

1634283054567.png

1634283106113.png
005 Parameter发布
Started by user lql
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/test
[test] $ /bin/sh -xe /tmp/jenkins12267065529969240602.sh
+ echo dev
dev
Finished: SUCCESS

1634283460217.png
006 String Parameter创建

1634283747501.png

1634283794918.png
007 git组件安装
选择 git Source Code Management

1634285526261.png
008 git构建

1634286873077.png

1634286059341.png

1634288861894.png
009 git发布
Started by user lql
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/test
The recommended git tool is: NONE
using credential 711e362f-2255-4c8c-bb4a-a81353e2ee29
Cloning the remote Git repository
Cloning repository http://192.168.153.18/test/cs.git
> git init /var/jenkins_home/workspace/test # timeout=10
Fetching upstream changes from http://192.168.153.18/test/cs.git
> git --version # timeout=10
> git --version # 'git version 2.30.2'
using GIT_ASKPASS to set credentials
> git fetch --tags --force --progress -- http://192.168.153.18/test/cs.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url http://192.168.153.18/test/cs.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
> git rev-parse origin/master^{commit} # timeout=10
Checking out Revision 0667e070d384037d463e7bb7cb413520146b8942 (origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 0667e070d384037d463e7bb7cb413520146b8942 # timeout=10
Commit message: "Add new file"
First time build. Skipping changelog.
[test] $ /bin/sh -xe /tmp/jenkins13203311460013865620.sh
+ echo dev
dev
+ echo master
master
+ pwd
/var/jenkins_home/workspace/test
+ ls
README.md
index.html
Finished: SUCCESS
Git参数
001 插件下载
Git Parameter
002参数设置

1634524924496.png
003 发布效果

1634525219750.png
Extended Choice Parameter
001 安装插件
Extended Choice Parameter
002 Git Parameter中添加参数

1634537558395.png

1634537882884.png

1634538221326.png
003 发布效果

1634537952773.png
004 文件映射
[root@localhost ~]# docker exec -it jenkins bash
root@b0a6742dcef7:/# cd /var/jenkins_home/
root@b0a6742dcef7:/var/jenkins_home# echo "abc=192.168.1.1,192.168.1.2" >server.list

1634540269390.png

1634538669770.png

1634540221509.png
005 修改配置文件效果
[root@localhost jenkins_home]# vi server.list
abc=192.168.1.1,192.168.1.2,192.168.1.3

1634539200906.png
分布式构建(Master/Slave)
001 新建节点
Manage Nodes and Clouds
新建节点
192.168.153.19 Master
192.168.153.17 Slave

1634541296545.png

1634541376156.png

1634543895065.png
002 子节点安装jdk和maven环境
[root@localhost jenkins_home]# scp -r /usr/local/jdk/ root@192.168.153.17:/usr/local/
[root@localhost jenkins_home]# scp -r /usr/local/maven/ root@192.168.153.17:/usr/local/
[root@localhost local]# vi /etc/profile
----------------------------------------------------
JAVA_HOME=/usr/local/jdk
PATH=$JAVA_HOME/bin:$PATH:/usr/local/maven/bin
export JAVA_HOME PATH
-----------------------------------------------------
[root@localhost local]# source /etc/profile
[root@localhost local]# java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
----------------------------------------------------------------
[root@localhost local]# mvn -version
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00)
Maven home: /usr/local/maven
Java version: 1.8.0_45, vendor: Oracle Corporation
Java home: /usr/local/jdk/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.el7.x86_64", arch: "amd64", family: "unix"
003 在jenkins_home中下载agent.jar
[root@localhost local]# mkdir /opt/jenkins_home
[root@localhost local]# cd /opt/jenkins_home
[root@localhost jenkins_home]# wget http://192.168.153.19:8080/jnlpJars/agent.jar
004 启动节点
nohup java -jar agent.jar -jnlpUrl http://192.168.153.19:8080/computer/test1/jenkins-agent.jnlp -secret 20f903f4b74ac005ba1de92a3aa08ff73327c28741ef3753d106a894bd2ad05b -workDir "/opt/jenkins_home" &>slave.log &
005 指定运行的Slave节点

1634544493182.png
006 查看效果

1634544558011.png

1634544784323.png
拷贝构建文件到远程服务器
001 安装插件Publish Over SSH
Publish Over SSH
002 服务器端生产密钥
[root@localhost ~]# ssh-keygen
003 将id_rsa.pub公钥内容添加到目标服务器
[root@localhost .ssh]# ssh-copy-id root@192.168.153.17
004 远程登录客户端
[root@localhost .ssh]# ssh-copy-id root@192.168.153.17
[root@localhost ~]# ip addr
inet 192.168.153.17/24 brd 192.168.153.255 scope global noprefixroute ens32
005 配置Publish over SSH
[root@localhost .ssh]# cat id_rsa

1634613114765.png

1634613158188.png
006 构建项目

1634613370545.png

1634613398733.png
007 验证
Source files :当前的workspace下(当前拉完代码的目录下)
----------构建完成后17服务器----------------------------------
[root@localhost test]# ls /tmp/test/
index.html README.md
远程服务器执行shell
001 下载ssh插件
ssh
002 配置远程主机

1634613719073.png
003 配置Credentials

1634611972830.png

1634612029997.png
004 构建项目

1634612319305.png

1634613840062.png
网友评论