1 安装docker
卸载旧版
yum remove docker docker-common docker-selinux docker-engine
yum remove docker-ce
rm -rf /var/lib/docker
yum install -y yum-utils device-mapper-persistent-data lvm2 安装依赖
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
安装最新版本docker-ce
docker version
如果需要配置代理
mkdir -p /etc/systemd/system/docker.service.d
vi /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://172.19.179.144:3128/" # 代理服务器地址
Environment="HTTPS_PROXY=http://172.19.179.144:3128/" # https
Environment="NO_PROXY=localhost,127.0.0.1" # 哪些地址不需要走代理
找到/etc/docker目录下的daemon.json文件,没有则直接 vi daemon.json (创建docker目录) 复制下面的json数据
#填写自己的加速器地址
{
"registry-mirrors": ["https://r3z7iya8.mirror.aliyuncs.com"]
}
通知systemd重载此配置文件;
systemctl daemon-reload
systemctl start docker 启动docker
systemctl enable docker 设置开机启动
安装Jenkins
docker pull jenkinsci/blueocean
mkdir -p /var/jenkins_home
chmod 777 /var/jenkins_home
docker run \
-u root \
-d --network=host \
--restart=always \
-e JENKINS_OPTS="--prefix=/jenkins" -e JENKINS_ARGS="--prefix=/jenkins" \
-v /var/run/docker.sock:/var/run/docker.sock -v /var/jenkins_home:/var/jenkins_home \
-v /etc/localtime:/etc/localtime --name jenkins jenkinsci/blueocean
启动容器后 docker logs jenkins 查看日志 找到初始密码
进入页面创建用户下载插件用推荐插件安装即可
进入Jenkins正式使用后需要升级Jenkins升级后jdk会自动安装好
下载一个maven3.9 放到目录 /var/jenkins_home下并解压
执行脚本可用
/var/jenkins_home/apache-maven-3.9.0/bin/mvn package
我一般用 publish over ssh 下载这个插件基本可以实现大部分能力
注意:
publish over ssh 访问其他机器是临时用户并不是root用户所以注意使用环境变量
# java
export JAVA_HOME=/usr/local/jdk1_8/ #jdk install dir
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=${PATH}:${JAVA_PATH}
# maven
export MAVEN_HOME=/usr/local/apache-maven-3.8.4
export PATH=$PATH:$MAVEN_HOME/bin
配置nginx
location ^~ /jenkins/ {
proxy_pass http://localhost:8080/jenkins/;
proxy_read_timeout 10;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
例:
新建任务
选择git 点击添加即可输入用户密码
/var/jenkins_home:/var/jenkins_home/bin/mvn package
用publish over ssh 去其他机器执行脚本
publish over ssh 可在系统配置里配置