Docker+Jenkins实现一键自动化部署项目的图文教学
作者:扶风呀
Jenkins是一个广泛使用的开源持续集成工具,它能自动化构建,测试和部署软件项目,本文主要介绍了关于docker搭建Jenkins实现一键自动化部署项目,需要的朋友可以参考下
1、docker安装Jenkins
1.1、在根目录下创建文件夹
cd / mkdir -p /mydata/jenkins/jenkins_home mkdir -p /mydata/jenkins/localtime
1.2、下载jenkins镜像并启动运行
docker pull jenkins/jenkins:2.414.2
docker run -d -u root -p 8080:8080 -p 50000:50000 -v /mydata/jenkins/jenkins_home:/var/jenkins_home -v /mydata/jenkins/localtime --name jenkins jenkins/jenkins:2.414.2
1.3、初始化Jenkins
获取密码
docker logs jenkins
页面访问:http://{部署Jenkins所在服务IP}:8080
1.4、Jenkins安装步骤
选择推荐的插件
密码:123456
2、安装maven插件
2.1、通过手动上传安装
apache-maven-3.9.9-bin.tar.gz
解压并复制到指定目录
tar -zxvf apache-maven-3.9.9-bin.tar.gz
cp -r /mydata/apache-maven-3.9.9 /mydata/jenkins/jenkins_home
2.2、配置maven仓库
<localRepository>/mydata/jenkins/jenkins_home/apache-maven-3.9.9/m2</localRepository> <!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> <profile> <id>JDK-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
3、Jenkins全局配置
路径:Dashboard > Manage Jenkins > Tools
3.1、下载插件 Publish over SSH
3.2、配置地址
1.SSH Server Name 填你虚拟机IP或用户名
2.Hostname 填你的虚拟机IP
3.Username 默认root
4.Remote Directory 填 /
5.保存
4、创建任务测试
注意:这个任务名称对应的就是代码所在的文件夹
4.1、配置仓库地址
4.2、构建启动
目标:clean install
pom.xml是项目代码所在位置
cp /mydata/jenkins/jenkins_home/workspace/fufeng/target/deploy-0.0.1-SNAPSHOT.jar /mydata/jenkins/jenkins_home/jar/ #!/bin/bash APP_NAME=deploy-0.0.1-SNAPSHOT.jar LOG_NAME=deploy-0.0.1-SNAPSHOT.log pid=`ps -ef | grep $APP_NAME | grep -v grep|awk '{print $2}'` function is_exist(){ pid=`ps -ef | grep $APP_NAME | grep -v grep|awk '{print $2}'` if [ -z ${pid} ]; then String="notExist" echo $String else String="exist" echo $String fi } str=$(is_exist) if [ ${str} = "exist" ]; then echo " 检测到已经启动的程序,pid 是 ${pid} " kill -9 $pid else echo " 程序没有启动了 " echo "${APP_NAME} is not running" fi str=$(is_exist) if [ ${str} = "exist" ]; then echo "${APP_NAME} 已经启动了. pid=${pid} ." else source /etc/profile BUILD_ID=dontKillMe nohup java -Xms300m -Xmx300m -jar /mydata/jenkins/jenkins_home/workspace/fufeng/target/$APP_NAME >$LOG_NAME 2>&1 & echo "程序已重新启动..." fi
启动脚本里面的路径手动创建
应用保存!
4.3、验证是否启动成功
查看Java进程:
页面测试:
应用保存!
以上就是Docker+Jenkins实现一键自动化部署项目的图文教学的详细内容,更多关于Docker Jenkins自动化部署项目的资料请关注脚本之家其它相关文章!