1. 先在jenkins上配置拉取代码部分,需要在git上找到项目位置,直接复制url即可
http://192.168.0.161:3000/IT-Insurance/Back.Test-Walle
选择git的凭据 #不报错即可
2. 可以先跑一下jenkins,看看代码是否拉取正常,执行命令,编译打包
cd /root/.jenkins/workspace/test/thanos
mvn package -PmakeAll -Dmaven.test.skip=true

3. 构建执行shell命令和编译打包放一起
cd /root/.jenkins/workspace/test/thanos/target
scp thanos-0.0.1-SNAPSHOT.jar deploy@192.168.0.249:/opt/server/test/
4. 在部署服务器上编写Dockerfile #docker search -s 10 centos查找镜像 docker pull docker.io/mamohr/centos-java拉取镜像
#Base umages 基础镜像
FROM docker.io/mamohr/centos-java ##MAINTAINER 维护者信息
MAINTAINER liutao #ADD
ADD thanos-0.0.1-SNAPSHOT.jar /opt #EXPOSE
EXPOSE 8080 #CMD
ENTRYPOINT ["java","-jar","/opt/thanos-0.0.1-SNAPSHOT.jar"] 5. 在服务器上安装docker
yum install -y docker
systemctl start docker && systemctl enable docker #启动docker及开机自启动
6. 在jenkins构建新建一个执行shell
ssh deploy@192.168.0.249 "docker rm -f test_server;docker rmi -f test:v1.0cd /opt/server/test/;docker build -t test:v1.0 . ;docker run -d -p 8080:8080 --restart=always --name test_server test:v1.0"
也可以写成一个脚本
#!/bin/sh
docker rm -f test_server
docker rmi -f test:v1.0
cd /opt/server/test/ && docker build -t test:v1.0 . && docker run -d -p 8080:8080 --restart=always --name test_server test:v1.0
#docker run -d -v /data/logs/thanos:/data/logs/thanos -p 19999:9999 --restart=always --name test1_server test1:v1.0 #与容器共享目录,前者为宿主机目录,后者为容器目录
ssh deploy@192.168.0.249 "sh -x /opt/server/test/test.sh"
ssh后面双引号必须要有,多个命令用;分割

  

7. 上传到私有仓库,使用harbor仓库
docker rm -f test2_server
docker rmi -f test2:v2.0
cd /opt/server/test_1/ && docker build -t test2:v2.0 . && docker run -d -v /data/logs/thanos:/data/logs/thanos -p 19999:9999 --name test2_server test2:v2.0
docker tag test2:v2.0 192.168.0.52/test/test2:v2.0
#source /opt/server/test_1/a.sh
docker login --username=admin --password=Harbor12345 192.168.0.52 #登录私有仓库
docker push 192.168.0.52/test/test2:v2.0
8. 拉取私有镜像
docker login 192.168.0.52
docker pull 192.168.0.52/test/test2:v2.0
如提示登录错误,修改一下文件
vim /etc/docker/daemon.json
{"registry-mirrors": ["192.168.0.105"]}
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd-current --insecure-registry 192.168.0.52
systemctl daemon-reload && systemctl restart docker

  

 

jenkins部署docker的更多相关文章

  1. 在windows下使用jenkins部署docker容器

    在windows下使用jenkins部署docker容器最近在学习jenkins,docker部署来实现集成部署,所以想在windows下面实现测试,但是发现在windows下docker支持不是很好 ...

  2. Jenkins~配合Docker及dotnetCore进行生产和测试环境的灵活部署

    回到目录 首先要清楚本文是讲dotnetcore项目在生产和测试环境部署的,这在过去的frameworks项目里,我们可以通过设置web.config的环境变量,然后再发布时指定具体的变量,去实现生产 ...

  3. 基于Jenkins,docker实现自动化部署(持续交互)

      前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...

  4. 基于Jenkins,docker实现自动化部署(持续交互)【转】

      前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...

  5. Docker容器使用jenkins部署web项目--总结(二)

    (1)需要安装Docker容器,在Docker容器内安装jenkins,gogs,tomcat.   新建maven项目,添加findbugs plugin. 使用docker启动jenkins,go ...

  6. 【Devops】【docker】【CI/CD】3.Jenkins+GitLab+docker+springboot 实现自动化部署

    ==================================================================================================== ...

  7. .Net Core 自动化部署:使用jenkins部署到linux docker容器运行

    上次我们说到.Net Core 自动化部署:使用docker版jenkins部署dotnetcore应用,这次我们使用jenkins发布我们的.NET Core站点到docker容器中运行,为后面的的 ...

  8. .Net Core 自动化部署:使用docker版jenkins部署dotnetcore应用

    安装docker版jenkins 因为jenkins的docker版本本身没有 dotnetcore的环境,所以我们需要先自己动手制作下包含dotnet环境的jenkins Docker Contai ...

  9. Jenkins+Git+Docker+K8s部署

    准备工作 Jenkins已安装 Docker和K8s部署运行成功 代码管理工具使用Git 最近公司项目使用Jenkins+Git+Docker+K8s进行持续化构建部署,这里笔者整理了一下构建部署的相 ...

随机推荐

  1. PowerBI开发:用自然语言来探索数据--Q&A

    Power BI报表的用户,肯定会被Q&A的功能惊艳到,在查看报表时,仅仅通过输入文本就可以探索数据,并且结果是可视化的,更令人惊艳的时,结果几乎是实时显示出来的.这使得Q&A Vis ...

  2. Caused by: com.sonatype.nexus.staging.client.StagingRuleFailuresException: Staging rules failure! 已解决!

    问题分析 由于项目中修改了一些代码,然后没有修改版本号,直接deploy代码到仓库,最终导致错误! 根据 https://central.sonatype.org/faq/can-i-change-a ...

  3. Spring 源码(8)Spring BeanPostProcessor的注册、国际化及事件发布机制

    上一篇文章https://www.cnblogs.com/redwinter/p/16198942.html介绍了Spring的注解的解析过程以及Spring Boot自动装配的原理,大概回顾下:Sp ...

  4. gogin web框架部署学习

    首先去git上面找了一个gin框架拿来学习gin web开发: flipped-aurora/gin-vue-admin: 基于vite+vue3+gin搭建的开发基础平台(已完成setup语法糖版本 ...

  5. ELF文件结构

    ELF文件结构 ELF文件的全称是Executable and Linkable Format,直译为"可执行可链接格式",包括目标文件(.o).可执行文件(可以直接运行).静态链 ...

  6. sklearn机器学习实战-简单线性回归

    记录下学习使用sklearn,将使用sklearn实现机器学习大部分内容 基于scikit-learn机器学习(第2版)这本书,和scikit-learn中文社区 简单线性回归 首先,最简单的线性回归 ...

  7. 767. Reorganize String - LeetCode

    Question 767. Reorganize String Solution 题目大意: 给一个字符串,将字符按如下规则排序,相邻两个字符一同,如果相同返回空串否则返回排序后的串. 思路: 首先找 ...

  8. linux篇-linux iptables配置

    1 iptables默认系统自带 setup 2重启防火墙 /etc/init.d/iptables restart 3接受端口 Vi /etc/sysconfig/iptables -A INPUT ...

  9. Python技法:浮点数取整、格式化和NaN处理

    1. 取整的三种方法 1.1 强转int类型 这种方法会直接对浮点数的小数部分进行截断(无论是正还是负). print(int(2.7)) # 2 print(int(-2.7)) # -2 1.2 ...

  10. Spring大事务到底如何优化?

    所谓的大事务就是耗时比较长的事务. Spring有两种方式实现事务,分别是编程式和声明式两种. 不手动开启事务,mysql 默认自动提交事务,一条语句执行完自动提交. 一.大事务产生的原因 操作的数据 ...