赞
踩
1: 安装docker环境
1:卸载以前安装残留得痕迹
sudo yum remove docker \ docker-client \ docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \ocker-engine
chmod -R 777 /soft 文件夹授权
2: 安装docker
yum -y docker
3: 检查docker是否安装成功
docker version
4:搭建 Jenkins
为了省事,我决定用 Docker 搭建 Jenkins,一行命令搞定。
为了操作方便,我们将 Jenkins 的工作目录映射到我的宿主机中来,因此首先在宿主机中准备一个数据目录(不是必须):
# 创建 jenkins 目录
mkdir /data/jenkins_home/
# 修改目录的所有者,以便于 Jenkins 容器能够操作该目录
chown -R 1000:1000 /data/jenkins_home/
5: docker拉取jekins镜像
docker pull jenkins/jenkins
docker run -d --name jenkins -p 8088:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins
5:查看所有容器是否已经正常启动
docker ps -a
6:启动已存在容器
docker start 容器ID(jenkins容器)
7:访问jenkins地址
http://ip:8088/ (8088是在启动docker容器时进行的端口映射,8088为对外暴露端口)
8:访问之前,首先需要解锁 Jenkins,根据页面的路径去我们创建容器的时候设置了数据卷,
cat /data/jenkins_home/secrets/initialAdminPassword 位置查看初始化密码,如下:
9:选择安装推荐的插件
10:等待插件安装完毕
11:创建登录用户可以创建,也可以不用创建直接使用admin账号登陆,根据个人的需求
12:整个过程执行完毕之后,重启下jenkins容器安装的插件才能生效
docker restart jenkins
13:Jekins汉化插件的设置
Manage jenkins
14: Manage Plugins, 在可安装插件中,搜索Locale 并选择install without restart
因为我这边已经安装过此插件了,所以搜索不出来,安装好后可以在已安装中查看,绿色√号代表已经安装成功了
15:在系统配置汉化的全局设置
点击保存应用后进行重启jenkins容器,查看是否生效
docker restart jenkins
如若不生效继续在插件管理,搜索Localization: Chinese和Localization Support俩个插件进行安装,然后进行重启jenkins容器(汉化如果已经生效,无须执行此步骤)
搜索 Maven Integration 和 Publish Over SSH 以及 Gitee 三个插件进行安装完成后(同Locale 插件安装流程一样)
16: 配置 Jenkins基础环境
Jenkins 容器中已经包含一个 JDK 了,所以我们可以不用提前准备 JDK,只需要准备Maven
先把Maven包上传到服务器上指定的文件夹,并且进行解压完成如下:
maven 拷贝到 Jenkins 容器中:
docker cp /soft/maven/apache-maven-3.8.6 jenkins:/opt/
开始配置了,配置的位置如下图:
JDK配置
Git配置
Maven配置,点击保存和应用
以上流程,把jenkins的所需基础环境,maven,git,jdk,都已经配置成功
17:点击Manage Jenkins,下拉找到Configure System进行配置代码托管平台的配置例如:码云(gitee),gitHub
链接名:代码仓库地址
Gitee域名:https://gitee.com(在这用码云做为例子)
证书令牌生成如下,点击添加按钮
Gitee秘钥生成步骤:
点击私人令牌
输入你的码云账号密码即可,就生成了私人令牌,然后复制到jenkins配置中
Publish over SSH的配置
配置完成后点击测试如下,代表成功
Jekins新建任务配置:
完成以上一列配置流程,就可以在jenkins上进行构建,来验证
构建失败的话也可以根据控制台的具体信息来分析
最后一个小坑,在编写jenkins的触发启动脚本一定要切记,引入服务器上的java环境变量
启动脚本内容如下:
#!/bin/bash
echo Stopping application
export JAVA_HOME=/soft/java/jdk1.8.0_171
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
PID=$(ps -ef | grep study-demo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill -9 $PID
kill -9 $PID
fi
echo Starting application
nohup java -jar study-demo-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &
缺失这一块引用的话,就自动触发启动脚本,项目也不会成功启动
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。