使用阿里云的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构建项目配置及推送阿里云镜像仓库相关推荐

  1. Maven打包SpringBoot项目镜像并推送至私有Harbor仓库

    1 准备工作: 1.1 搭建harbor 因为harbor是基于docker的,并且依赖于docker-compose,所以先要准备好dockers环境再安装好compose工具 1.1.1 dock ...

  2. maven配置更换最新的阿里云镜像仓库

    前言 Maven中央仓库默认在国外,国内的开发者下载依赖时可能会很慢,不过可以通过配置Maven的镜像地址来提高下载jar包的速度.国内支持maven镜像的有阿里云,开源中国等等,这里换为阿里云的镜像 ...

  3. 使用Maven构建项目Docker镜像并上传至阿里云镜像仓库

    前言 前面介绍了Docker的一些安装.镜像加速.构建镜像 并推送至服务器 , 今天在前面的基础上新增配置 , 使项目可以具备构建镜像后将包推送至远端仓库的能力 ​​​​​​Docker是什么?有什么 ...

  4. 流水线-阿里云镜像仓库

    流水线-阿里云镜像仓库 一.阿里云镜像仓库的创建 1.docker镜像制作 配置nginx 如何把nginx的静态资源放入k8s? 制作nginx镜像 把nginx镜像提交到dockerhub 切换镜 ...

  5. Docker基础(centos安装、阿里云镜像加速器配置、常用命令、数据卷、DockerFile、镜像推送阿里云等)

    Centos 8.1安装Docker 下载docker-ce.repo curl https://download.docker.com/linux/centos/docker-ce.repo -o ...

  6. 使用maven插件构建docker镜像并推送到阿里镜像仓库

    1.阿里云镜像仓库 阿里云提供了docker镜像仓库,可以上传私有的镜像 2.com.spotify 提供的docker构建插件 docker-maven-plugin <plugin>& ...

  7. idea打包meven镜像_docker打包maven项目推送到阿里云镜像仓库

    自从上次用derrick 创建 nodejs 项目容器之后,以此为砖来引出学习Dockerfile的玉,用docker创建maven项目镜像也分两步走.使用maven plugin docker 创建 ...

  8. Docker之使用maven插件【Dockerfile方式】构建并推送镜像到私有仓库

    准备工作 操作系统版本 [root@node02 ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) docker版本 [ ...

  9. Docker推送镜像到阿里云镜像仓库

    docker推送拉取镜像文件,本文以阿里云镜像仓库为例 1.在阿里云创建镜像仓库 1.1.登录到阿里云,在产品中找到容器镜像服务 1.2.进到管理控制台 1.3.选择个人实例 2.进入镜像仓库,创建镜 ...

最新文章

  1. php是否区分大小写
  2. Jmeter 使用自定义变量
  3. 最受欢迎 Top 12 Python 开源框架,你都用过吗?
  4. Nagios系统监控软件的安装设置(4)
  5. The project cannot be built until build path errors are resolved的解决方法
  6. Android 透明度百分比对应的 十六进制
  7. Python 全栈开发:python字符串切片
  8. c 程序设计语言第1 3部分,《C程序设计语言(第2版新版)典藏版》 —1.3 for语句...
  9. iphone换机数据迁移_苹果与安卓,如何进行资料迁移
  10. 微课|中学生可以这样学Python(例7.1):继承
  11. java sbyte_JAVA与c#中byte取值范围的差异
  12. servlet和struts2一起使用,实现绝对路径下的图片输出到jsp页面
  13. Java继承_JAVA的三大特性
  14. 2015-FCN论文翻译
  15. 马哥linux架构班笔记,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  16. 央行企业征信异议、声明业务办理流程?
  17. 104.网络安全渗透测试—[权限提升篇2]—[Linux之SUID提权]
  18. 新东方托福词汇(List 36 ~ List 40)
  19. “剑指Offer”数据结构篇:java实现
  20. excel怎么把竖排变成横排_桐城家谱编修丨麻城家谱数字化丨新时代编修家谱该怎么编修?...

热门文章

  1. 怎么计算机打不开文件格式,告诉你EXE格式文件打不开怎么办
  2. 暖气屋子里的吉他如何保养?
  3. 暗光增强论文:“EEMEFN: Low-Light Image Enhancement via Edge-Enhanced Multi-Exposure”
  4. PL/SQL学习笔记(二)—— 执行语句
  5. 美国防承包商邮件系统遭攻击,军事机密或泄露
  6. session共享(redis实现)
  7. “不安分”的华熙生物再出发,食品赛道或添一员猛将
  8. 毕业设计- 基于微信小程序平台电影播放系统
  9. 用C#实现模拟双色球中奖程序 控制台应用程序
  10. 最新ChatGPT GPT-4 相似匹配Embedding技术详解(附ipynb与python源码及视频讲解)——开源DataWhale发布入门ChatGPT技术新手从0到1必备使用指南手册(一)