Gitlab集成jenkins及docker自动化部署教程

能实现提交代码到gitlab后,我们只需要合并代码到指定分支就可以上Jenkins自动拉取最新代码并重新构建部署

1、登录Jenkins点击如下加号新增视图

2、gitlab配置Jenkins成员,供Jenkins使用

3、Jenkins配置选择如下选项

代码如下:

REPOSITORY=192.168.1.240:5000/project_name/service_name:test1

cat > Dockerfile << EOF

#基础镜像,如果本地没有,会从远程仓库拉取。

FROM openjdk:8

#声明了容器应该打开的端口并没有实际上将它打开

EXPOSE 10011

# 将jar包添加到容器中并更名为app.jar

ADD target/service_name-2.0.0-SNAPSHOT.jar app.jar

#指定容器启动时要执行的命令,但如果存在CMD指令,CMD中的参数会被附加到ENTRYPOINT指令的后面

ENTRYPOINT ["java","-Xms512m","-Xmx1024m","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar", "--spring.profiles.active=test1"]

EOF

# 构建镜像

docker build -t $REPOSITORY .

docker login -u admin -p 123456 192.168.1.240:5000

# 上传镜像

docker push $REPOSITORY

Docker环境部署代码如下:

REPOSITORY=192.168.1.240:5000/project_name/service_name:test1

docker login -u admin -p 123456 192.168.1.240:5000

docker pull $REPOSITORY

docker rmi $(docker images | grep "none" | awk '{print $3}')

mkdir -p /usr/local/docker/project_name/service_name

cd /usr/local/docker/project_name/service_name

cat > docker-compose.yml<< EOF

version: "3.7"

services:

  kxkd-push-service:

    image: $REPOSITORY

    restart: always

    container_name: service_name

    logging:

      driver: "json-file"

      options:

        max-size: "1G"

    environment:

      - TZ=Asia/Shanghai

    ports:

      - "10011:10011"

    volumes:

      - "/usr/local/docker/project_name/service_name/logs:/logs"

      - "/usr/local/docker/project_name/service_name/sensors:/usr/local/docker/kxkd"

      - "/usr/local/docker/project_name/service_name/fonts:/usr/local/openjdk-8/jre/lib/fonts"

EOF

docker-compose down

docker-compose up -d

4、配置gitlab环境

5、上面就已经配置完成了,接下来可以测试自动部署环境

Gitlab集成jenkins及docker自动化部署教程的更多相关文章

  1. 自动化部署教程(一) redhat安装jenkins

    自动化部署教程(一)  redhat安装jenkins 源配置: sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.or ...

  2. 微服务项目的docker自动化部署流程

    目录 微服务的Docker自动化部署 制作JDK1.8的Docker镜像 Docker常用命令介绍 制作image的一般流程 将本地的image上传至私人仓库 使用Maven插件实现自动化docker ...

  3. docker自动化部署前端项目实战一

    docker自动化部署前端项目实战一 本文适用于个人项目,如博客.静态文档,不涉及后台数据交互,以部署文档为例. 思路 利用服务器node脚本,监听github仓库webhook push事件触发po ...

  4. Windows+.Net Framework+svn+IIS在Jenkins上的自动化部署入门

    关于Jenkins的使用及安装,上一篇文章我已经介绍过了,Windows+.NetCore+git+IIS在Jenkins上的自动化部署入门.这篇主要是在jenkins如何安装SVN和MSBuild. ...

  5. Linux文档整理之【Jenkins+Docker自动化部署.Net Core】

    这次整理的文档是Jenkins+Docker实现自动化部署,很早之前就写的,今天有时间就搬到博客园做个记录. Jenkins是基于Java开发的一种持续集成工具,主要用于持续.自动的构建/测试软件等相 ...

  6. Gogs+Jenkins+Docker 自动化部署.NetCore

    环境说明 腾讯云轻量服务器, 配置 1c 2g 6mb ,系统是 ubuntu 20.14,Docker 和 Jenkins 都在这台服务器上面, 群晖218+一台,Gogs 在这台服务器上. Doc ...

  7. Windows版Jenkins+SVN+Maven自动化部署环境搭建【转】

    前言 因今年公司新产品线较多,为了降低耦合,达到业务分离.重用,提高内部开发效率的目的,采用了基于服务组件.前后端分离的架构体系.与之前传统单应用架构相比,系统部署.配置更加复杂,为了能够频繁地将软件 ...

  8. 使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署

    老早就想写这个话题了,今天正好有机会研究了一下 git 的自动化部署.最终做到的效果就是,每当有新的 commit push 到 master 分支的时候,就自动在测试/生产服务器上进行 git pu ...

  9. 品尝阿里云容器服务:初步尝试ASP.NET Core Web API站点的Docker自动化部署

    部署场景是这样的,我们基于 ASP.NET Core 2.0 Preview 1 开发了一个用于管理缓存的 Web API ,想通过阿里云容器服务基于 Docker 部署为内网服务. 在这篇博文中分享 ...

  10. CI/CD之Gitlab集成Jenkins多分支pipeline实现质量检测和自动发布

    本次实施主要实现: 代码提交gitlab,自动触发Jenkins构建 gitlab发起Merge Request, 需要Jenkins检查通过才可以merge,实现代码review和质量管控 gitl ...

随机推荐

  1. C语言基础--数组详细说明

    目录 一.什么是数组 二.一维数组 1.一维数组创建 2.一维数组的使用 2.1 索引值 2.2 遍历数组 2.3 如何使用sizeof()计算出数组的长度 三.二维数组 1.二维数组的创建 2.二维 ...

  2. 使用Docker+PHP搭建苹果Maccms的影视站详细教程

    自己做博客站太难了,SEO太差自己都搜不到,原文地址求你点进去看:https://typecho.hanzhe.site/archives/88 说在前面 很早之前还没参加工作的时候,手头没钱,想要看 ...

  3. Easygraph:全面高效的图分析与社会计算开源工具

    前言图是对事物之间关系的一种原生的表达,利用图可以深入直接地认识世界中的关联.社交网络.交易数据.知识图谱.交通运输.生物技术等都是图数据的典型应用.社交网络是一种特殊的图数据,它建立在图网络的基础上 ...

  4. Linux 文件系统的设计

    一 硬盘的最小存储单元是扇区,扇区大小为512B 文件系统将硬盘划分为固定大小的块(block),最常见的块大小为4KB 块是文件系统读写硬盘的最小单位 二 文件系统设计面临的基本问题: 用户怎么找到 ...

  5. 给你推荐一款快速通过 typescript 生成 jsonschema 的包处理器

    theme: github fast-typescript-to-jsonschema Typescript 生成 jsonschema 数据插件 性能 案例 interface AAA { a: n ...

  6. MySQL8_SQL语法

    MySQL8_SQL语法 SQL 全称 Structured Query Language,结构化查询语言.操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 . 一.SQL通用语法 在学 ...

  7. centos7安装weblogic

    前言 简介:weblogic是java应用服务器软件的一种,类似于tomcat,但功能更多,适用于大型应用场景. 版本: 系统:centos 7(最小化安装,无图形化界面) jdk: oraclejd ...

  8. 原来你是这样的JAVA[06]-反射

    1.JVM为每个加载的class及interface创建了对应的Class实例来保存class及interface的所有信息: 获取一个class对应的Class实例后,就可以获取该class的所有信 ...

  9. 58同城二手车数据爬虫——数字加密解码(Python原创)

    一.基础首页爬取 def crawler(): # 设置cookie cookie = '''cisession=19dfd70a27ec0e t_f805f7762a9a237a0deac37015 ...

  10. Solution -「营业」「ABC 209F」Deforestation

    Description   Link.   有 \(n\) 棵树,每棵的高度为 \(a(i)\),看到一棵树对答案的贡献为 \(a(i-1)+a(i)+a(i+1)\)(未定义范围为 \(0\)),求 ...