当前位置:   article > 正文

jenkins2.164.1+gitee1.8.3.1+maven3.6+docker 部署实例

jenkins2.164.1
1. 新建任务
构建一个maven项目(如果没有需要下载插件)
  • 1
2. tab1 General

中如果jenkins本地安装了jdk此处可以不选,如果没有安装则需要全局设置一个

3. tab2如下,配置git地址和安全

在这里插入图片描述

4. Credentials安全证书添加

在这里插入图片描述
类型选择ssh
priviate key单选后输入key
key的生成规则,咱jenkins服务器中执行以下命令,全部回车即可。

ssh-keygen -t rsa -C "i123@126.com"
cat /root/.ssh/id_rsa #复制此显示的结果

  1. tab3 Build Triggers,勾选如下
    在这里插入图片描述
    其中需要部署的服务器可能没有,需要在 系统管理/系统设置/Publish over SSH下,如果此项没有需要安正插件SSH,其中key为之前使用

ssh-keygen -t rsa -C "i123@126.com"
cat /root/.ssh/id_rsa #复制此显示的结果

在这里插入图片描述
Passphrass不需要填写,其余重要的为最下方,需要填写ssh连接的服务器,用户名和部署的地址
部署的是tomcat的webapps路径下,如果想要直接访问,则需要tomcat先启动。

需要在jenkins服务远程将秘钥授权或者在ssh Server处勾选Use password authentication, or use a different key,填写密码

ssh-copy-id root@目标节点IP

ssh-copy-id root@目标节点IP -o PubkeyAuthentication=no
输入密码登录即可。

6. tab6 Build

在这里插入图片描述
此两项Root POM为gitee中工程下pom文件的位置,因为我多加了一层文件夹,所以使用JenkinsTest/,如果没有默认为pom.xml
Golals and options 为maven的操作命令

7. tab7 Post Steps,部署到远程的服务器的设置,选择服务器,与jar或者war的目录,远程的目录

在这里插入图片描述

8. 在首页任务中,点击名称进入,左侧的菜单有很多用途,点击立即构建

一般情况下都会成功。

在这里插入图片描述
点击下方jenkinsWeb
在这里插入图片描述
console Output可以查看当前构建状态,如果有异常也可查到。

代理

如果不成功,如内网无法访问外网的情况,就要设置代理,默认在/etc/profile中设置。

vi /etc/profile
export http_proxy=http://xxx:3001
export http_proxys=http://xxx:3001
source /etc/profile

还需要在maven的setting文件设置,如

<proxy>
       <id>my-proxy</id>
       <active>true</active>
       <protocol>http</protocol>
       <host>192.168.10.117</host>
       <port>3267</port>
    </proxy>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

参考
https://www.cnblogs.com/along21/p/10172855.html

如果需要在代码推送后自动构建,则需要 Gitee在接收到代码推送后,通过Webhook,可以通知到Jenkins,Jenkins拉去代码,并且部署。

在插件里面搜索webHook 这个插件 Generic Webhook Trigger Plugin 。
前提Jenkins 和git在同一网络,如同是内网,或同是外网。

如果远程服务器需要使用docker部署springboot jar或war

如下图
在这里插入图片描述
在ssh server下Transfers/Exec command中加入docker脚本即可

# 工作目录
WORK_DIR="/app/docker/jenkins/web.war";
# 容器在运行
if [[ `docker ps | grep web.war` ]]; 
then 
    docker stop web.war
fi;
if [[ `docker ps -a | grep web.war` ]]; 
then 
	#将新版war传递到容器中
    docker cp /app/docker/jenkins/web.war web.war:/appjar/web.war
    # 容器已创建,只重启
    docker restart web.war
else
    # 如果容器未创建,创建容器
   docker build --no-cache -t centos7/jweb2:1.0 -f /app/docker/jenkins/webDockerFile /app/docker/jenkins/
   docker run -p 9005:9090 --name web.war -d centos7/jweb2:1.0
fi;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

其中webDockerFile 如下:

#jar DockerFile
FROM centos7/basejdk:1.0
RUN mkdir /appjar
WORKDIR /app/docker/jenkins
#web.war为当当dockerfile目录下,springboot生成的,jar或war均可以
ADD web.war /appjar/web.war
#COPY web.war /appjar/
#ENTRYPOINT ["java","-jar","/appjar/web.war"]
CMD java -jar /appjar/web.war
#还可加各种参数,如java -Xmx2000m -jar /app/web.war --spring.profiles.active=dev --server.port=80
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

保存jenkins即可。
缺点是需要建立dockerfile与jenkins进行两个命令的创建
参考:https://blog.csdn.net/apexlj/article/details/49616483

jenkins配置邮件通知

https://www.cnblogs.com/imyalost/p/8781759.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/130691
推荐阅读
相关标签
  

闽ICP备14008679号