一、docker搭建jenkins
1.新建文件夹
1.1新建 dokcer-compose.yml ,将下面内容添加进去
version: '3.1'
services:
jenkins:
image: jenkins/jenkins:lts
restart: always
hostname: jenkins
container_name: jenkins
privileged: true # 特权模式
user: root
ports:
- 5555:8080
- 50000:50000
environment:
TZ: Asia/Shanghai
volumes:
- /root/jenkins/data:/var/jenkins_home # jenkins数据目录
1.2 执行 dokcer-compose up -d
1.3 通过浏览器访问页面,按照提示进操作,选择默认安装
2.安装插件
gitee(按照需求),默认已经有github
Publish Over SSH ssh 需要用
jersey 2 API 使用gitee时必须要用
3.进入jenkin容器中
3.1 在容器中安装 mavn
并在容器中建立软链接
ln -s /usr/local/maven/bin/mvn /usr/bin/mvn
3.2 在容器中安装nodejs
并在容器中建立软链接
ln -s /usr/local/node/bin/npm /usr/bin/npm
ln -s /usr/local/node/bin/node /usr/bin/node
注意:必须建立软连接,否者无法使用 命令
4.登录jenkins页面
4.1进入系统配置
### 4.1.1 配置gitee (根据自己需求)
### 4.1.2 添加一些账号
例如 :gitee账号 、远程ssh 账号
4.1.3 添加远程主机
4.2 新建一个任务
#!/bin/bash
source /etc/profile
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=ConfigurationManagementDatabase-1.0-SNAPSHOT.jar
#项目名
PROJECT_NAME=cmdb
#项目路径
WORKSPACE=/root/jenkins/data/workspace/${PROJECT_NAME}/target
#日志
#需要先新建 logs/cmdb 目录
LOG=/root/logs/cmdb/nohup.out
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh 脚本名.sh [start|stop|restart|status]"
exit 1
}
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
return 1
else
return 0
fi
}
start(){
is_exist
else
nohup java -jar $WORKSPACE/$APP_NAME > $LOG 2>&1 &
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${PROJECT_NAME} is not running"
fi
}
#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${PROJECT_NAME} is running. Pid is ${pid}"
else
echo "${PROJECT_NAME} is NOT running."
fi
}
#重启
restart(){
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
同样新建一个前端任务
其他步骤基本相同
前端不需要写脚本