Docker使用Git实现Jenkins发布、测试项目的详细流程

一、安装Docker

PS:安装前提是已经安装了CentOS VM
1、设置下载Docker的镜像源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2、安装Docker

yum -y install docker-ce

3.启动Docker服务

systemctl start docker

4、配置镜像加速

4.1、修改docker服务配置:vim /usr/lib/systemd/system/docker.service进入,找到参数:ExecStart=/usr/bin/dockerd

4.2、在该行参数后面追加:--registry-mirror=https://xfaawkne.mirror.aliyuncs.com
4.3、最终该行参数为:

ExecStart=/usr/bin/dockerd --registry-mirror=https://xfaawkne.mirror.aliyuncs.com  -H fd:// --containerd=/run/containerd/containerd.sock

4.4、重启docker

systemctl daemon-reload
systemctl restart docker

二、创建自定义网络地址

//创建cbnet网络
docker network create --subnet=172.18.0.0/16 cbnet
//删除docker网络命令
docker network rm 网络IP名称
//查看docker 的网络定义
docker network ls

三、docker创建容器

1、创建mysql、redis、nginx容器

MySQL:
docker run -d --name mysql --network cbnet --ip 172.18.0.100 -p 3309:3306  -e MYSQL_ROOT_PASSWORD=123456 mysql
Redis:
docker run -itd --name redis -p 6379:6379 --network cbnet --ip 172.18.0.102 redis
Nginx:
docker run --name nginx -p 80:80 --network cbnet --ip 172.18.0.105 nginx //如果没有,会自动下载

四、自定义镜像

查看全部本地的镜像docker images
删除本地镜像 docker rmi 镜像的标识

1、在项目中的pom.xml文件下的plugins下面追加docker-maven插件

<groupId>com.spotify</groupId>
				<artifactId>docker-maven-plugin</artifactId>
				<version>1.0.0</version>
				<configuration>
					<dockerHost>http://192.168.161.129:2375</dockerHost>
					<imageName>creatorblue/spring-security</imageName>
					<imageTags>
						<imageTag>latest</imageTag>
					</imageTags>
					<forceTags>false</forceTags>
					<dockerDirectory>${project.basedir}/src/main/resources</dockerDirectory>
					<resources>
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>${project.build.finalName}.jar</include>
						</resource>
					</resources>
				</configuration>
			</plugin>

2、在资源目录新建Dockerfile文件,填写以下内容

FROM frolvlad/alpine-oraclejdk8:slim
USER root
VOLUME /tmp
ADD springboot-security-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS="-server -Xms256M -Xmx512M -XX:MetaspaceSize=64M -XX:MaxMetaspaceSize=128M -Dfile.encoding=UTF-8 -Duser.timezone=GMT+08"
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

3、打包项目,右击项目选择Run As下的 Maven build 输入以下代码,点击run

docker:build -P prod或cleanpackge docker:build -P prod

控制台出现如下图及成功

4、在虚拟机上修改docker.service配置,开放2375端口

1、首先进入docker.service文件
vim /usr/lib/systemd/system/docker.service
2、其次开放2375端口
-H tcp://0.0.0.0:2375
3、最后重启Docker
systemctl daemon-reload
systemctl restart docker

5、在虚拟机查看自定义镜像是否成功:docker images

6、配置自定义容器IP地址

docker run -d --name spring-security -p 8088:8080 -v /mnt/uploads : /mnt/uploads --network cbnet --ip 172.18.0.110
docker run -d --name spring-security2 -p 8089:8080 -v /mnt/uploads : /mnt/uploads --network cbnet --ip 172.18.0.111

最后启动MySQL、Redis、Nginx、Spring-security容器

五、配置nginx反向代理

实现负载均衡(一个IP登录后,第二个IP可以直接进入,不会互挤)

1、查看nginx目录

1、复制容器的文件:docker cp nginx:/etc/nginx/conf.d/default.conf default.conf
2、编辑文件:vi default.conf

2、在default.conf文件增加代码

修改default.conf文件如下:

//同一个镜像下的2个容器
upstream my{
   server 172.18.0.110:8080;
   server 172.18.0.111:8080;
}

location /spring{
   proxy_pass http://my;
}

六、项目上传到Git仓库

1、首先创建一个仓库

2、创建成功后,复制仓库地址

3、选择需要上传的项目并右击项目,选择Team下的Share Project

最后点击finish完成!如图:

> 代表动过它但是没有提交
代表全新创建的
红色双箭头 代表远程也修改,本地也修改了,就报错

4、提交到本地仓库
右击项目,选择Team下的Commit

5、提交到远程仓库,右击项目,如以下图示例

如果从本文的第一步就复制了,就不需要复制了,eclipse已经同步了;如果一开始没复制,就需要复制git的仓库地址即可!

此时,刷新git网址,如下图就成功了

如果遇到拉取不了,上传也上不了问题,详见https://blog.csdn.net/ZHANGDANDAN04/article/details/115725977文章篇尾有解决步骤

七、使用Jenkins发布、测试项目

进入官网https://www.jenkins.io/
1、安装Jenkins

2、按照以下界面步骤依次在虚拟机安装

3、安装成功后,启动jenkins

访问地址虚拟机ip地址+Jenkins默认端口8080

选择安装推荐的插件即可!

由于网络问题,所以有些插件安装失败,git已安装成功即可,可以点击继续进行下一步

4、在虚拟机上安装Git

yum install -y git

5、在Jenkins中新建一个Item,来构建项目,步骤如下:


点击构建成功的项目进行配置,点击确定

6、点击Manage Jenkins

并配置全局工具进行配置

7、虚拟机中下载jdk,并配置jdk

命令:
yum install -y javacc-maven-plugin.noarch
//搜索javac
find / -name javac

8、配置maven
8.1、首先进入maven官网,复制maven的压缩包

8.2、回到home目录,使用wget+粘贴刚刚复制的maven地址

解压文件

8.4、文件解压后,进入maven并进入cd conf中,修改settings.xml文件,里面加载阿里云服务器进行提速


1、进入编辑命令:vi settings.xm
2、在mirrors中新增阿里云服务器
<mirror>
	  <!--This sends everything else to /public -->
	  <id>aliyun</id>
	  <mirrorOf>*</mirrorOf>
	  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	</mirror>
  <mirror>
    <!--This is used to direct the public snapshots repo in the
        profile below over to a different nexus group -->
    <id>aliyun-public-snapshots</id>
    <mirrorOf>*</mirrorOf>
    <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
  </mirror>

8.5、进行配置

9、调用顶层Maven目标
进入到构建项目的设置中

并构建maven项目,打包命令clean install -P prod,点击保存即可

10、在虚拟机上找到spring-security路径


11、完成构建项目

以下界面及启动成功!

jenkins 运行常遇到的错误:
1、在虚拟机下载jdkyum install -y javacc-maven-plugin.noarch

2、Jenkins访问权限不够

解决权限的命令
vim /etc/sysconfig/jenkins

3、Execute Shell写错项目名称

13、测试url访问地址

最后,当需要给项目升级时,首先完成代码编写,其次commit and push上传到git仓库,再在jenkins重新构建,再次访问新的接口即可,如以下示例步骤



补充:可以写有个脚本同时启动多个容器
1、编写启动多个容器的脚本:vi auto.sh
2、例如:启动三个容器

 !/bin/bash
docker run -d --name spring-security -p 8087:8080 -v /mnt/uploads:/mnt/uploads --network cbnet --ip 172.18.0.10 cetorblue/spring-security
docker' run -d --name spring-security -p 8088:8080 -v/mnt/uploads : /mnt/uploads --network chnet --ip 172.18.0.10 creatorblue/spring-security
docker run_-d --name spring-security -p 8089:8080 -v /mnt/uploads : /mnt /uploads --network chnet --ip17.18.0.10 cretorblue/spring-security

最后启动 sh auto.sh即可!

到此这篇关于Docker使用Git实现Jenkins发布、测试项目的详细流程的文章就介绍到这了,更多相关Docker Jenkins发布测试项目内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用Docker+Jenkins自动构建部署

    本文介绍了Docker+Jenkins自动构建部署,分享给大家,具体如下: 环境 阿里云ESC,宿主机服务器安装Docker,在安全规则中确认8080端口开启. 客户端mac 运行jenkins 运行jenkins容器 在主机上创建目录,并添加读写权限以便jenkins应用运行时读写文件,如: $ mkdir -p /var/jenkins_node $ chmod 777 /var/jenkins_node 拉取jenkins镜像:docker pull jenkins,当前是2.60.3版.

  • 从零搭建docker+jenkins+node.js自动化部署环境的方法

    本次案例基于CentOS 7系统 适合有一定docker使用经验的人阅读 适合有一定linux命令使用经验的人阅读 1.docker部分 1.1.docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口 1.2.docker架构 简单的说,docker就是一个轻量级的linux系统.Docker 容器通过 Docker 镜像来创建.

  • Centos7+Docker+Jenkins+ASP.NET Core 2.0自动化发布与部署的实现

    前言 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级项目的同时,顺便直接将Jenkins搬到Docker上.为什么要写这篇文章呢?因为找过相关的资料,大多数文章都是基于Ubuntu 安装.net core 又或者 GitLab 进行持续集成 自动部署等等等,并未有人尝试过Centos7.3 上部署 Jenkins 并且 构建 ASP.NET CORE 2

  • Docker 安装 Jenkins 并解决初始安装插件失败问题

    安装 Jenkins 后,初始化下载插件总是失败,导致安装不成功,重试好几次都是卡在安装插件那. 这里记录下 Docker 下怎么安装 Jenkins ,并解决初始安装插件失败问题. 安装插件失败,其实是拉取了官方的 Jenkins 镜像,然后在初始化安装插件时,会从国外的网站去获取,导致安装非常缓慢,或者安装失败.最好的解决方案时拉取 Jenkins 中文社区 提供的 Jenkins 镜像,即可解决.Jenkins 中文官网 :https://www.jenkins.io/zh/ 安装步骤获取

  • Docker使用Git实现Jenkins发布、测试项目的详细流程

    一.安装Docker PS:安装前提是已经安装了CentOS VM 1.设置下载Docker的镜像源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 2.安装Docker yum -y install docker-ce 3.启动Docker服务 systemctl start docker 4.配置镜像加速 4.1.修改docker服务配置:vim /us

  • 通过jenkins发布java项目到目标主机上的详细步骤

    发布java项目的步骤: 拉取代码并打包 mvn clean package 备份目标服务器上已有的要发布项目 将包传到目标服务器的webapss目录中 需做免密登录 重启目标服务器的tomcat服务 修改项目的配置 重启目标服务器的tomcat服务 项目要求: 两台主机上分别安装jenkins,tomcat jenkins主机上操作 #两台主机做免密登录 [root@localhost ~]# ssh-keygen -t rsa Generating public/private rsa ke

  • IDEA 通过docker插件发布springboot项目的详细教程

    一.编写Dockerfile文件 (1)右键项目名,新建一个文本文件,把名字改成Dockerfile,不用后缀.放在项目根目录下. (2)填写Dockerfile内容 FROM openjdk:8 VOLUME /tmp ADD target/*.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"] FROM openjdk:8  // 表示基础环境是jdk8 ADD target/*.jar app

  • SpringBoot整合Thymeleaf小项目及详细流程

    目录 1.项目简绍 2.设计流程 3.项目展示 4.主要代码 1.验证码的生成 2.userController的控制层设计 3.employeeController控制层的代码 4.前端控制配置类 5.过滤器 6.yml配置 7.文章添加页面展示 8.POM.xml配置类 9.employeeMapper配置类 10.UserMapper配置类 1.项目简绍 本项目使用SpringBoot开发,jdbc5.1.48 Mybatis 源码可下载 其中涉及功能有:Mybatis的使用,Thymel

  • 在Idea中使用Docker部署SpringBoot项目的详细步骤

    前言 项目需要: 安装Dockeridea中安装docker插件,并配置docker一个SpringBoot项目创建Dockerfile 一.下载.安装.配置Docker下载Docker 下载地址:官网下载 Docker 安装 一直下一步就行 配置路径:Settings–General 勾选 Expose daemon on tcp://localhost:2375 without TLS 设置镜像,提高下载镜像的速度https://xaiqlt1z.mirror.aliyuncs.com 测试

  • jenkins自动构建发布vue项目的方法步骤

    简介 Jenkins是一个开源的.提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续.自动的构建/测试软件项目.监控外部任务的运行(这个比较抽象,暂且写上,不做解释).Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行.通常与版本管理工具(SCM).构建工具结合使用.常用的版本控制工具有SVN.GIT,构建工具有Maven.Ant.Gradle. jenkins安装 1.安装JDK yum install

  • 使用jenkins一键打包发布vue项目的实现

    jenkins的安装 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件. Jenkins 支持各种运行方式,可通过系统包.Docker 或者通过一个独立的 Java 程序. 安装 这里的操作系统为WSL Ubuntu,其它系统的安装的请参考jenkins官方文档 wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo de

  • Docker容器使用jenkins部署web项目(总结)

    (1)需要安装Docker容器,在Docker容器内安装jenkins,gogs,tomcat.   新建maven项目,添加findbugs plugin. 使用docker启动jenkins,gogs,Tomcat的命令gogs : 复制代码 代码如下: docker run -itd -p 10022:22 -p 10080:3000 --restart=always --privileged=true --name=gogs -v /var/gogs:/data gogs/gogs je

  • Jenkins配置maven项目之打包、部署、发布的全过程

    Jenkins和项目在两台服务器上 Jenkins的下载安装部署省略,可自行上官网. 1.安装maven插件 完成后,会出现“success”,并且勾选“安装完成后重启Jenkins(空闲时)” 2.部署有Jenkins的服务器上,下载maven,配置环境变量,我在opt/目录下放着. 执行命令: 下载: wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.g

  • 使用Docker部署打包发布springboot项目

    目录 前言 第一:环境 第二:开始描述从搞项目到docker发布: 第四:各种错误教训集合. 前言 从安装docker到多种方式打包发布,编译,镜像,容器等问题,遇到种种问题,终于不负所望,一步步解决,本文我会比较大跨度的来说明一切解决办法. 第一:环境 1.虚拟机安装的centos7. 2.docker已安装好,不会的可以参看我的docker安装文章. 3.搞一个很简单的springboot项目即可,先搞定发布编译再说. 第二:开始描述从搞项目到docker发布: 1.springboot项目

随机推荐