700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > jenkins构建项目配置及推送阿里云镜像仓库

jenkins构建项目配置及推送阿里云镜像仓库

时间:2022-03-01 15:31:48

相关推荐

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@:test/test.git" #项目git地址gitBranch="admin" #要拉取的git分支projectEnv="production" #环境标识dockerTestRegistry="-/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 $folderficd $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 $gitBranchgit pullecho '======== start to prepare docker file'cd ..echo '======== start to copy www files'if [ ! -d www];thenmkdir wwwelserm -rf .www/*ficp -r ./git/www/* ./wwwecho '======== copy src files success'echo '======== start to copy config files'cp -r ./config/* ./www/common/configecho '======== copy config files success'echo '======== start to write build time file'rm -rf $buildVersionFiletouch $buildVersionFileecho `date +"%Y-%m-%d %H:%M:%S"`>>$buildVersionFilecat $buildVersionFileecho '======== 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_ENVdocker push $dockerAdminRegistryecho '======== build admin success'echo '======== all finished!'exit 0

总结:项目发布的所有的步骤都在sh内写好,Jenkins的作用只是执行此sh文件。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。