jenkins构建项目配置及推送阿里云镜像仓库
使用阿里云的k8s,更新一个项目需要如下步骤:
1.先更新代码
2.再将代码打包生成一个docker镜像,推送到阿里云镜像仓库(私有的)
3.在阿里云上使用新的镜像新启一个docker,并把老的docker删除(阿里云k8s可以配置钩子,镜像更新自动重启docker)
使用jenkins构建,就方便很多了。(先要阿里云k8s镜像更新自动重启docker配置好)
在此只使用jenkins运行一个sh文件。
只需要在jenkins配置下执行命令即可:
sh文件就按照项目发布步骤来写(按照自己项目内的构建逻辑来写,
【
此处的代码结构:admin项目内有如下几个文件夹
docker [主要用到里面的Dockerfile配置文件]
conf.d [内部存放nginx配置文件]
config [项目配置文件,代码仓库内忽略了配置文件]
git [git内的文件是从代码仓库拉取下来的最新的代码]
www [项目代码]
】具体逻辑不在此赘述):
示例代码:path="/var/www/" #项目路径
folder="admin" #项目文件夹名
gitUrl="git@git.com:test/test.git" #项目git地址
gitBranch="admin" #要拉取的git分支
projectEnv="production" #环境标识
dockerTestRegistry="registry.cn-shanghai.aliyuncs.com/test/test:prod" #阿里云镜像仓库地址
BUILD_ENV="production"
buildVersionFile="test/build-version.html" #构建版本时间记录echo "======== start to publish $folder:$projectEnv (branch:$gitBranch)"
cd $path || (echo "no such dictionary: $path" && exit 1)if [ ! -d $folder ];thenmkdir $folder
fi
cd $folder || (echo "fail to create folder: $path/$folder" && exit 1)echo '======== start to fetch git'if [ ! -d git ];thengit clone -b $gitBranch $gitUrl git
ficd git || (echo 'fail to create git folder' && exit 1)
git checkout -f $gitBranch
git pullecho '======== start to prepare docker file'
cd ..echo '======== start to copy www files'
if [ ! -d www];thenmkdir www
elserm -rf .www/*
ficp -r ./git/www/* ./www
echo '======== copy src files success'echo '======== start to copy config files'
cp -r ./config/* ./www/common/config
echo '======== copy config files success'echo '======== start to write build time file'
rm -rf $buildVersionFile
touch $buildVersionFile
echo `date +"%Y-%m-%d %H:%M:%S"`>>$buildVersionFile
cat $buildVersionFile
echo '======== write build time file success'echo '======== prepare docker file finished'echo '======== start to run docker file'
cd docker || (echo "no docker dictionary!" && exit 1)echo '======== start to build admin'
rm -rf conf.d/*
cp -r ../conf.d/* conf.ddocker build -t $dockerAdminRegistry -f ./Dockerfile ../ --build-arg BUILD_ENV=$BUILD_ENV
docker push $dockerAdminRegistryecho '======== build admin success'echo '======== all finished!'
exit 0
总结:项目发布的所有的步骤都在sh内写好,Jenkins的作用只是执行此sh文件。
jenkins构建项目配置及推送阿里云镜像仓库相关推荐
- Maven打包SpringBoot项目镜像并推送至私有Harbor仓库
1 准备工作: 1.1 搭建harbor 因为harbor是基于docker的,并且依赖于docker-compose,所以先要准备好dockers环境再安装好compose工具 1.1.1 dock ...
- maven配置更换最新的阿里云镜像仓库
前言 Maven中央仓库默认在国外,国内的开发者下载依赖时可能会很慢,不过可以通过配置Maven的镜像地址来提高下载jar包的速度.国内支持maven镜像的有阿里云,开源中国等等,这里换为阿里云的镜像 ...
- 使用Maven构建项目Docker镜像并上传至阿里云镜像仓库
前言 前面介绍了Docker的一些安装.镜像加速.构建镜像 并推送至服务器 , 今天在前面的基础上新增配置 , 使项目可以具备构建镜像后将包推送至远端仓库的能力 Docker是什么?有什么 ...
- 流水线-阿里云镜像仓库
流水线-阿里云镜像仓库 一.阿里云镜像仓库的创建 1.docker镜像制作 配置nginx 如何把nginx的静态资源放入k8s? 制作nginx镜像 把nginx镜像提交到dockerhub 切换镜 ...
- Docker基础(centos安装、阿里云镜像加速器配置、常用命令、数据卷、DockerFile、镜像推送阿里云等)
Centos 8.1安装Docker 下载docker-ce.repo curl https://download.docker.com/linux/centos/docker-ce.repo -o ...
- 使用maven插件构建docker镜像并推送到阿里镜像仓库
1.阿里云镜像仓库 阿里云提供了docker镜像仓库,可以上传私有的镜像 2.com.spotify 提供的docker构建插件 docker-maven-plugin <plugin>& ...
- idea打包meven镜像_docker打包maven项目推送到阿里云镜像仓库
自从上次用derrick 创建 nodejs 项目容器之后,以此为砖来引出学习Dockerfile的玉,用docker创建maven项目镜像也分两步走.使用maven plugin docker 创建 ...
- Docker之使用maven插件【Dockerfile方式】构建并推送镜像到私有仓库
准备工作 操作系统版本 [root@node02 ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) docker版本 [ ...
- Docker推送镜像到阿里云镜像仓库
docker推送拉取镜像文件,本文以阿里云镜像仓库为例 1.在阿里云创建镜像仓库 1.1.登录到阿里云,在产品中找到容器镜像服务 1.2.进到管理控制台 1.3.选择个人实例 2.进入镜像仓库,创建镜 ...
最新文章
- php是否区分大小写
- Jmeter 使用自定义变量
- 最受欢迎 Top 12 Python 开源框架,你都用过吗?
- Nagios系统监控软件的安装设置(4)
- The project cannot be built until build path errors are resolved的解决方法
- Android 透明度百分比对应的 十六进制
- Python 全栈开发:python字符串切片
- c 程序设计语言第1 3部分,《C程序设计语言(第2版新版)典藏版》 —1.3 for语句...
- iphone换机数据迁移_苹果与安卓,如何进行资料迁移
- 微课|中学生可以这样学Python(例7.1):继承
- java sbyte_JAVA与c#中byte取值范围的差异
- servlet和struts2一起使用,实现绝对路径下的图片输出到jsp页面
- Java继承_JAVA的三大特性
- 2015-FCN论文翻译
- 马哥linux架构班笔记,51CTO博客-专业IT技术博客创作平台-技术成就梦想
- 央行企业征信异议、声明业务办理流程?
- 104.网络安全渗透测试—[权限提升篇2]—[Linux之SUID提权]
- 新东方托福词汇(List 36 ~ List 40)
- “剑指Offer”数据结构篇:java实现
- excel怎么把竖排变成横排_桐城家谱编修丨麻城家谱数字化丨新时代编修家谱该怎么编修?...
热门文章
- 怎么计算机打不开文件格式,告诉你EXE格式文件打不开怎么办
- 暖气屋子里的吉他如何保养?
- 暗光增强论文:“EEMEFN: Low-Light Image Enhancement via Edge-Enhanced Multi-Exposure”
- PL/SQL学习笔记(二)—— 执行语句
- 美国防承包商邮件系统遭攻击,军事机密或泄露
- session共享(redis实现)
- “不安分”的华熙生物再出发,食品赛道或添一员猛将
- 毕业设计- 基于微信小程序平台电影播放系统
- 用C#实现模拟双色球中奖程序 控制台应用程序
- 最新ChatGPT GPT-4 相似匹配Embedding技术详解(附ipynb与python源码及视频讲解)——开源DataWhale发布入门ChatGPT技术新手从0到1必备使用指南手册(一)