快速部署-02-构建发布

简介: 使用Jenkins构建应用并构建docker镜像发布到自己阿里云镜像仓库

jenkins

传统的我们在发布应用或者升级的时候都是把war包放到对应tomcat目录下或者替换class但是这样极容易出错,由此我们将使用jenkins+docker来解决此问题

部署jenkins

# 若目录不一样自行变更
mkdir -p /data/jenkins
# 目录附权限
chown -R 1000:1000 /data/jenkins
# 启动jenkis
# jenkins定制dockerfile https://github.com/duanzonglong/docker-jenkins-gradle.git
docker run -d --restart=always --name jenkins -e TZ=Asia/Shanghai  -v /data/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --privileged=true -p 8080:8080 duanzonglong/docker-jenkins-gradle:lst
#若推送镜像时提示Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
chmod 777 /var/run/docker.sock

特别说明此镜像中已经安装了maven docker gradle node cnpm等工具因此不需要在jenkins做单独配置

jenkins构建项目

这里我们演示使用开源的springcloud框架cloud-admin项目演示打包发布的整套流程
具体项目需要做些调整请参考cloudadmin
image
添加构建脚本
image
执行完成后在服务器中查询生成的镜像
image

镜像推送阿里仓库

首先申请自己的阿里云镜像仓库申请地址

  • 创建自己的命名空间
  • 创建仓库

先手动推送镜像到自己的仓库

#登录仓库
docker login --username=xxx(自己的账号) registry.cn-hangzhou.aliyuncs.com

docker tag ag/ace-center:latest registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-center:latest
docker push registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-center:latest
docker rmi ag/ace-center:latest
docker rmi registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-center:latest

docker tag ag/ace-auth:latest registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-auth:latest
docker push registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-auth:latest
docker rmi ag/ace-auth:latest
docker rmi registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-auth:latest


docker tag ag/ace-gate:latest registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-gate:latest
docker push registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-gate:latest
docker rmi ag/ace-gate:latest
docker rmi registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-gate:latest

docker tag ag/ace-admin:latest registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-admin:latest
docker push registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-admin:latest
docker rmi ag/ace-admin:latest
docker rmi registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-admin:latest

请将cloud-admin替换为自己的命名空间
如果是在阿里云服务器上构建可以将镜像地址换成内网registry-internal.cn-hangzhou.aliyuncs.com

rancher

镜像构建出来后,如何发布到生产环境或者测试环境可以选用docker相关的管理工具,这里我们选用rancher
部署命令

## 单机安装 若需要支持高可用请参考rancher官网
docker run -d -v /data/rancher/mysql:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server

添加主机节点
image

相关文章
|
4月前
|
数据采集 网络安全 文件存储
快速部署 OpenFOAM 社区版
OpenFOAM(Open Source Field Operation and Manipulation)是对连续介质力学问题进行数值计算的软件。可进行数据预处理、后处理和自定义求解器,常用于计算流体力学领域。本文介绍如何通过计算巢快速部署OpenFOAM社区版服务。
快速部署 OpenFOAM 社区版
|
4月前
|
存储 弹性计算 运维
快速部署 K3s 社区版
K3s 是轻量级的 Kubernetes。K3s 易于安装,仅需要 Kubernetes 内存的一半,所有组件都在一个小于 100 MB 的二进制文件中。K3s 是一个完全兼容的 Kubernetes 发行版。本文向您介绍如何通过计算巢快速部署K3s社区版。
快速部署 K3s 社区版
|
7月前
|
人工智能 数据可视化 开发者
快速部署 Dify 社区版
Dify.AI 是一款 LLMOps 平台,帮助开发者更简单、更快速地构建 AI 应用。它的核心理念是通过可声明式的 YAML 文件定义 AI 应用的各个方面,包括 Prompt、上下文和插件等。Dify 提供了可视化的 Prompt 编排、运营、数据集管理等功能。这些功能使得开发者能够在数天内完成 AI 应用的开发,或将 LLM 快速集成到现有应用中,并进行持续运营和改进,创造一个真正有价值的 AI 应用。本文介绍使用计算巢快速部署 Dify 社区版。
快速部署 Dify 社区版
|
8月前
|
人工智能 机器人 开发工具
快速部署 Flowise 社区版
FlowiseAI 是一个开源的低代码开发工具,专为开发者构建定制的语言学习模型(LLM)应用而设计。 通过其拖放式界面,用户可以轻松创建和管理AI驱动的交互式应用,如聊天机器人和数据分析工具。 它基于LangChain框架,支持与多种AI模型和数据库集成,实现高度可定制化的流程自动化​。本文介绍通过计算巢快速部署Flowise社区版服务。
|
9月前
|
运维 监控 安全
构建高效自动化运维系统:基于容器技术的持续集成与持续部署(CI/CD)实践
【5月更文挑战第14天】 随着DevOps文化的深入人心,持续集成与持续部署(CI/CD)已成为现代软件工程不可或缺的组成部分。本文将探讨如何利用容器技术,尤其是Docker和Kubernetes,构建一个高效、可扩展的自动化运维系统。通过深入分析CI/CD流程的关键组件,我们将讨论如何整合这些组件以实现代码从提交到生产环境的快速、无缝过渡。文章还将涉及监控、日志管理以及安全性策略等运维考量,为读者提供一个全面的自动化运维解决方案蓝图。
|
9月前
|
Java 关系型数据库 MySQL
部署和发布
部署和发布
53 0
|
关系型数据库 MySQL Java
快速部署框架
快速部署框架
92 0
|
存储 Kubernetes Ubuntu
构建镜像开源工具 buildah
构建镜像开源工具 buildah
构建镜像开源工具 buildah
|
Devops 持续交付 容器
RDC容器构建和部署服务新功能上线
通过RDC和容器服务的集成,很好的解决了从代码提交到发布上线,及多环境流水线部署等问题
5347 0
|
Linux Go iOS开发
构建多架构镜像的最佳实践
如今,Docker 容器镜像可以支持多种架构/平台,多架构镜像的构建已经成为了必备技能。
1577 2
构建多架构镜像的最佳实践