项目目录结构如下

对此项目,使用Jenkins构建dockers镜像

步骤如下:

1、安装Jenkins和docker,具体安装步骤,自行度娘把,在此不详述了。

2、Jenkins安装插件Gradle Plugin、Dockerer Plugin、Git Plugin

3、Jenkins全局工具配置

4、新建job,配置job

5、创建部署文件

进入部署文件目录

build.sh

docker-compose -f docker-compose.yaml up -d --build

docker-compose.yaml

 version: '3'
services:
panda-api:
image: panda-api:1011
#build: ./
restart: always
environment:
TZ: 'Asia/Shanghai'
ENV: ${ENV:-dev}
PORT: ${SERVER_PORT:-8580}
SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE:-dev}
ports:
- ${SERVER_PORT:-8580}:8580
volumes:
- "./docker-compose/opt/logs:/opt/logs"

Dockerfile

 FROM airdock/oracle-jdk

 ENV TZ='Asia/Shanghai'

 WORKDIR /opt/

 COPY /opt/data/jenkins/var/workspace/panda_api/build/libs/panda_api.jar /opt/panda_api.jar
COPY /opt/data/jenkins/var/workspace/panda_api/docker/entrypoint.sh / RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"]

entrypoint.sh

 #!/bin/sh

 export JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"

 java  -jar /opt/panda_api.jar --server.port=${PORT:-8580}

6、接下来就可以开始构建部署,点击构建

构建成功日志如图所示

查看构建的镜像

查看运行中的容器

到此,部署成功,这是基本流程,备份镜像等功能还需待完善,时间匆忙先简要把流程写一下

Jenkins+docker自动部署的更多相关文章

  1. Gitlab+Jenkins实现自动部署

    Gitlab+Jenkins实现自动部署   系统环境: Gitlab主机 IP:192.168.1.2 Jenkins主机 IP:192.168.1.3 一.为何要做自动部署 #部署Tomcat的在 ...

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

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

  3. springboot+Jenkins+docker-compose自动部署项目实践

    DevOps思想 一个开发.测试.运维的整个过程的思想. plan:需求.计划 code:编码 build:构建 test: 测试 release:发布版本 deploy:部署 operate:项目运 ...

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

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

  5. 使用jenkins 插件自动部署项目至tomcat

    前面使用maven.ant编译项目就不说,只说一下使用jenkins的插件自动部署项目 1.首先jenkins安装插件Deploy to container Plugin ,下载地址为:https:/ ...

  6. Jenkins之自动部署、代码安全扫描、自动化接口测试

    搭建Jenkins wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reporpm --i ...

  7. Jenkins代码自动部署相关文档

    环境 centos 7.0+ Java JDK 1.8+ jenkins 2.220 maven 3.0+ git 1.8+ 注意事项 一. linux 安装 JDK (jdk-8u201-linux ...

  8. Gitlab-runner+Docker自动部署SpringBoot项目

    本文基于Gitlab CI/CD及Docker快速实现项目的自动部署. 注意:本文较长,浏览需要12分钟左右. 1.环境要求 以下服务器的操作系统均为Centos7 服务器A:Gitlab 服务器B: ...

  9. gitlab+jenkins+docker自动构建

    docker容器部署gitlab: sudo docker run --detach \ --hostname git.gitlab.com \ --net=host \ --publish 9443 ...

随机推荐

  1. Monkey脚本API

    Monkey脚本API简介 LaunchActivity(pkg_name, cl_name):启动应用的Activity.参数:包名和启动的Activity. Tap(x, y, tapDurati ...

  2. 转载:Java Lock机制解读

    Java Lock机制解读 欢迎转载: https://blog.csdn.net/chengyuqiang/article/details/79181229 1.synchronized synch ...

  3. Python多线程thread、threading(一)

    Python多线程(一) Python多线程,类似于同时执行多个不同程序,多线程运行的有点: 1.使用线程可以把占据长时间的程序中的任务放到后台去处理 2.用户界面可以更加吸引人,这样比如用户点击了一 ...

  4. 02-03 CSS快速入门

    css四种引入方式:test.html: p{ color: gold; font-size: 20px; } title.html: <!DOCTYPE html> <html l ...

  5. JAVA SpringBoot2 关于 JSON 数据处理,基于 ObjectMapper

    1,当今的互联网开发行业,JSON 这种数据格式越来越成为网络开发的主流,尤其是前后端分离之后,几乎百分百的数据交互方式都是采用 JSON 2,由于 SpringMVC 框架的封装性,我们日常开发中只 ...

  6. TIMESTAMP(6)类型的时间差

    TIMESTAMP 数据类型 它包括了所有DATE数据类型的年月日时分秒的信息,而且包括了小数秒的信息. 以分钟为单位查询时间差 select ROUND(TO_NUMBER(to_date(to_c ...

  7. mysql脚本转h2

    注意事项:转的时候需要 脚本中不能包含utf8mb4格式

  8. PromiseThen 横向代码编辑

    var PromiseThen = function(){ var fns = []; this.then = function(fn){ fns.push(fn); return this; } t ...

  9. 一个suse11 sp1的crash工具版本问题

    这几年排查的各种类型的crash也比较多了,各种类型的也算见过,但是排查这个crash,走了不该走的弯路,事后显得很low,为了防止自己犯类似错误,也同时提醒后人,记录之. 内核是suse11,sp1 ...

  10. install linux on VM

    1. install完成之后,没有UI,可以在安装的向导过程中配置,先点击language,选择英语,然后再software那里 勾选,server with gui->KDE, 一定要在看到的 ...