jenkins-CICD系列之-Jenkins 单容器发布

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Jenkins 在docker容器中自动化发布构建

一个简单的CI操作,制作镜像并且发布

  1. 请先了解jenkins打包maven项目
  2. 在项目下 新建 docker 文件夹
  3. 新建 Dockerfile 文件
# 基础镜像 使用openjdk:17FROM docker.io/library/openjdk:17
# 将 jenkins-demo.jar 这个jar报 放到 容器中的usr/local这个目录下COPY jenkins-demo.jar /usr/local/
# 容器的工作目录 当我使用 docker exec -it 5e652be18192 /bin/bash 进入容器时就会在这个目录WORKDIR /usr/local
# 最终在容器中运行的 command 命令 相当于你在 linux 下输入 java -jar jenkins-demo.jar 启动这个java 项目CMD java -jar jenkins-demo.jar


  1. 新建  docker-compose.yml 的文件
# 因为我的 docker-compose 使用的是  Docker Compose version v2.12.2 这个版本所以 使用 3.9#  https://docs.docker.com/compose/compose-file/compose-file-v3/ 这里 官方示例就算3.9version: "3.9"# optional since v1.27.0services:  jenkins-demo:    build:      context: ./
# 指定dockerFile      dockerfile: Dockerfile
# 镜像    image: jenkins-demo
# 容器名称    container_name: jenkins-demo
# 暴露端口    ports:      - 8080:8080


  1. Post Steps 中 新建  Send files or execute commands over SSH

  1. Exec command
cd /usr/local/jenkins-demo-docker/docker
mv ../target/*jar ./
docker compose down
docker compose up -d--build




出现的问题

  1. 构建 执行报 没安装 docker compose
  1. docker compose 官网安装教程
  2. // 下载二进制文件到 /usr/local/bin/下

curl -SL https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

  1. 给权限

sudo chmod +x /usr/local/bin/docker-compose

  1. 建立软连接 在所有目录都能使用 docker compose 命令 不然只有在 /usr/local/bin下才能使用

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

  1. 查看安装版本

docker compose version

  1. 使用 docker-compose up -d --build 的时候报错 , 发现是因为我的版本比较高 现在的命令是这样的  

docker compose up -d --build

相关文章
|
5月前
|
jenkins Devops 持续交付
【devops】五、Integrate工具——容器部署Jenkins(上)
【devops】五、Integrate工具——容器部署Jenkins(上)
|
5月前
|
jenkins Linux 持续交付
聊聊Linux常用命令、Docker容器化、本地镜像仓库、GitLab私服、Jenkins自动化部署
聊聊Linux常用命令、Docker容器化、本地镜像仓库、GitLab私服、Jenkins自动化部署
115 0
|
5月前
|
Kubernetes jenkins Devops
基于Jenkins和k8s构建企业级DevOps容器云平台
基于Jenkins和k8s构建企业级DevOps容器云平台
|
6月前
|
jenkins Java Shell
容器 & 服务:Jenkins构建实例
这次准备研究容器相关技术,并不仅仅是学习,而是基于项目的实战。而使用容器的几个典型场景之一,就是通过容器构建/部署应用服务,而这与持续继承是密切相关的。我们可以使用jenkins,也可以使用其他持续继承工具,但最终都离不开对这类工具的理解和应用。在后续的学习中,还会有很多与持续继承工具紧密关联的实践案例,也会有很多问题需要深入调研解决。
76 0
|
5月前
|
jenkins Java 持续交付
Jenkins容器安装ruby-runtime插件失败报错解决
Jenkins容器安装ruby-runtime插件失败报错解决
|
5月前
|
jenkins Java 持续交付
【devops】五、Integrate工具——容器部署Jenkins(下)
【devops】五、Integrate工具——容器部署Jenkins(下)
|
6月前
|
jenkins Java 持续交付
容器 & 服务:Jenkins本地及docker安装部署
jenkins是常用的开源持续继承工具,现在所在的工作场景,也是使用jenkins进行基于github代码的拉取、打包、构建、部署的一系列流程,并结合了容器和函数计算实现金丝雀部署。本文先从基础的jenkins环境搭建开始。
192 0
|
9月前
|
Kubernetes 数据可视化 网络协议
【Jenkins-初识篇】容器快速部署Jenkins,创建流水线-Blue Ocean可视化界面展示
【Jenkins-初识篇】容器快速部署Jenkins,创建流水线-Blue Ocean可视化界面展示
359 0
|
9月前
|
Kubernetes jenkins 测试技术
基于容器的持续交付:使用Jenkins和Docker构建流水线
在当今软件开发的快节奏环境中,持续交付已经成为一种不可或缺的开发实践。它允许开发团队以更快的速度交付高质量的软件,同时保持灵活性和可靠性。在本文中,我们将介绍如何使用Jenkins和Docker构建基于容器的持续交付流水线,以实现自动化的构建、测试和部署过程。
347 0
|
jenkins Java 持续交付
Jenkins+GitLab自动化部署到Docker容器
Jenkins+GitLab自动化部署到Docker容器
356 1
Jenkins+GitLab自动化部署到Docker容器

相关产品

  • 容器镜像服务
  • 容器服务Kubernetes版