git docker 自动部署,jenkins自动化部署git 项目

  git docker 自动部署,jenkins自动化部署git 项目

  00-10101、设置Jenkins平台2、配置Jenkins平台3、创建SpringBoot应用4、配置Gitee 5、创建新的自动化部署任务6、打包测试。当我们使用传统的开发方法开发后台系统时,每写完一个功能点都需要重新运行项目,然后进行测试。项目小的话还好,但是项目大的话,这种开发方式因为涉及的人数多,相对更多。基于此,我们需要与Jenkins和Gitee一起搭建一个自动化部署平台,将代码托管到服务器上,这样既减轻了本地计算机的压力,又解放了部署流程。

  00-1010首先,我们需要设置Jenkins自动化构建平台。首先我们需要安装Docker,然后在Docker中安装Jenkins。安装命令如下:

  #安装yum-utils工具sudo Yum Install-y Yum-utils device-mapper-persistent-data LV m2 #配置Docker Yum source sudo Yum-config-manager-add-repo 3358 mirrors . aliyun.com/Docker-ce/centos/Docker-ce . repo #安装Docker sudo Yum Install Docker-ce Docker-ce-ce-clicontainerd . io #启动docker sudo systemctl启动docker #配置引导自启动sudo systemctl启用Docker你接下来,我们通过docker运行Jenkins。

  Docker run -d -RM -u root -p 8080:8080 -v/home/Jenkins-data :/var/run/Docker . sock :/var/run/Docker . sock -v/opt/develop _ resource/Apache-Maven-3 . 6 ./usr/local/Maven -v $ home 3360/home jenkin ci/中然而,这个詹金斯的形象来自JDK的环境。准备好Maven就行了。首先,使用以下命令下载Maven压缩包:

  WG http://mirrors . tuna . Tsinghua . edu.cn/Apache/maven/maven-3/3 . 6 . 3/binaries/Apache-maven-3 . 6 . 3-bin . tar . gz然后,使用命令解压文件。

  tar-zxvf apache-maven-3.6.3-bin.tar.gz解压后,请注意Maven的目录,比如:

  /opt/develop _ resource/Apache-Maven-3 . 6 . 3将其挂载到容器的目录中。-v/opt/develop _ resource/Apache-maven-3 . 6 ./usr/local/maven指令中的maven目录必须更改为您自己的目录。现在,我们可以运行刚才的命令来启动Jenkins,我们可以通过docker ps命令检查容器是否启动。

  [root @ 10/]# docker PS container ID IMAGE命令创建的状态端口名为sdfa 1b 8 b 2c 7 a 3 jenkinsci/blue ocean /sbin/TiNi-/usr/… 15秒前最多9秒0.0.0:8080-8080/TCP,3360336080-8080/TCP,50000/TCP condoning _ meitner接下来,我们使用服务器的ip和

  可以在Jenkins的启动日志中查看管理员密码。使用docker日志dfa1b8b2c7a3查看日志:

  le="text-align:center">

  密码就是红框中的字符串,注意红框下的一段提示:

  

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

 

  

意思是你可以在/var/jenkins_home/secrets/initialAdminPassword这个文件中查看到管理员密码,不过这是Jenkins容器内的目录,我们在启动Jenkins的就挂载了Jenkins的关键目录/var/jenkins_home,宿主机目录为/home/jenkins-data,所以可以使用如下指令查看管理员密码。

 

  

cat /home/jenkins-data/secrets/initialAdminPassword

得到密码后输入到Jenkins页面解锁Jenkins,然后点击安装推荐的插件。

 

  

 

  

 

  接下来,直接点击【下一步】。

  

 

  

 

  到这一步,Jenkins平台就可以正式使用了。

  

 

  

2, Jenkins平台配置

接下来,就是对Jenkins平台的配置,首先配置Maven。

 

  

 

  按步骤点击,即可进入系统配置。首先,在全局属性中进行配置。

  

 

  

 

  还记得我们在运行Jenkins容器时挂载的Maven目录吗?挂载到Jenkins容器中的目录就是/usr/local/maven,如果实在搞不懂的你就保持和我的配置一样即可。

  以同样的方式,再新增一个配置:

  

 

  PATH+EXTRA的作用是让原来PATH变量中的环境不丢失,最后点击保存。Maven配置完成后,需要配置Gitee。

  

 

  

 

  点击可选插件,选中Gitee,然后点击Install without restart进行安装,等待安装完成即可,Gitee的相关配置我们放到后面讲。

  

 

  

3,创建SpringBoot应用

首先,我们创建一个简单的SpringBoot应用进行测试,控制器代码如下。

 

  

@RestControllerpublic class HelloController { @GetMapping("/hello") public String hello(){ return "Hello World!"; }}

然后在配置文件application.yml中添加:

 

  

server: port: 8000

并在main下新建docker文件夹,在docker文件夹下新建Dockefile文件,内容如下。

 

  

# 指定是基于哪个基础镜像FROM java:8# 作者信息MAINTAINER wwj# 挂载点声明VOLUME /tmp# 将本地的一个文件或目录,拷贝到容器的文件或目录里ADD /target/demo-0.0.1-SNAPSHOT.jar springboot.jar#shell脚本RUN bash -c touch /springboot.jar# 将容器的8000端口暴露,给外部访问。EXPOSE 8000# 当容器运行起来时执行使用运行jar的指令ENTRYPOINT ["java", "-jar", "springboot.jar"]

需要注意的是ADD指令的编写,当SpringBoot应用打包完成后,其jar包会被放在target目录下。

 

  

 

  所以需要指定该文件的位置,使用ADD指令将其放入待构建的容器中,接着在Gitee中新建一个仓库,并将代码推送到仓库中。

  

 

  仓库名随便你叫什么,然后将刚才的应用推送上去即可。

  

 

  

 

  

4,Gitee配置

推送完成后,回到Jenkins管理界面,我们来完成Gitee的配置,打开系统配置。

 

  

 

  找到Gitee配置,填入对应的信息:

  

 

  点击添加按钮添加一个Jenkins凭证。

  

 

  选择Gitee API 令牌:

  

 

  私人令牌的获取地址为:https://gitee.com/profile/personal_access_tokens。

  

 

  

 

  

 

  

 

  

5, 新建自动化部署任务

配置完成,接下来新建一个任务,点击新建Item。

 

  

 

  随便输入一个任务名称,并选择【Freestyle project】。

  

 

  在源码管理处勾选Git,并填入项目地址,然后在构建触发器位置勾选触发打包的时机。

  

 

  在构建触发器最底部位置点击生成Gitee WebHook密码。

  

 

  然后打开Gitee项目中的WebHooks,添加webHook。

  

 

  

 

  此处的URL需要填入一个公网IP,所以如果你是用的虚拟机,就需要用内网穿透工具映射一下。

  

 

  

 

  至于URL应该填什么,我们需要修改一下。

  

 

  填写完成后点击添加,Gitee便会发送一个Post请求到Jenkins,如果请求结果如下所示,则配置成功了。

  

 

  重新回到Jenkins管理界面,继续勾选构建触发器下的轮询SCM,输入轮询频率。

  

 

  最后在构建位置下增加构建步骤,选择执行shell。

  

 

  shell脚本代码如下。

  

#!/bin/bash -ildocker rm -f app_dockersleep 1docker rmi -f app_docker:1.0sleep 1mvn clean install -Dmaven.test.skip=truesleep 1docker build -t app_docker:1.0 -f ./src/main/docker/Dockerfile .sleep 1docker run -d -p 8000:8000 --name app_docker app_docker:1.0

该脚本表示删除正在运行的app_docker容器,并删除app_docker:1.0镜像,然后使用mvn命令打包从Gitee拉取来的项目代码,接着使用项目中的Dockerfile文件构建出一个镜像,名称为app_docker:1.0,最后运行该镜像。

 

  

 

  

6,打包测试

最后点击保存,部署任务就创建完成了,我们来测试一下有没有问题。

 

  

 

  点击立即构建,Jenkins会立马进行一次构建,查看控制台输出。

  

 

  最后,我们打开默认的地址即可。

  到此这篇关于Jenkins+Docker+Gitee+SpringBoot自动化部署的文章就介绍到这了,更多相关Jenkins Docker+Gitee+SpringBoot自动化部署内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: