微服务项目部署之流水线编写
在sonarqube配置中还需要添加嵌套步骤 -> 执行shell 打包命令
sh 'mvn clean install -Dmaven.test.skip=true -gs `pwd`/mvn_settings.xml'
- –tags:
使用这个标志,你可以将所有本地标签(tags)推送到远程仓库。标签在 Git 中是指向特定提交的引用,通常用于标记项目的特定版本或里程碑。如果你在本地创建了一些标签并希望这些标签也出现在远程仓库中,你可以使用 git push --tags 命令。 - –ipv4:
当你的机器同时使用 IPv4 和 IPv6 时,Git 可能会默认使用 IPv6 进行通信。如果你出于某种原因(例如,网络问题或某些配置问题)想要强制 Git 使用 IPv4,那么你可以使用 --ipv4 标志。
组合使用上述两个标志,例如 git push --tags --ipv4,表示你想要将你的标签推送到远程仓库,并且强制使用 IPv4 进行这个操作。
git push http://$GITEE_USERNAME:$GITEE_PASSWORD@gitee.com/$GITEE_ACCOUNT/sangomall.git --tags --ipv4
七、通过KubeSphere部署之为项目发布准备对应版本的容器镜像
表示运行流水线传递的参数PROJECT_VERSION 是 v开头,那么则进行后续步骤
return params.PROJECT_VERSION =~ /v.*/
八、通过KubeSphere部署之项目部署流水线编写
- 在此之前的操作都是 CI操作,这一步部署到K8S集群即为 CD操作
1.创建.kube 目录 ,将变量配置文件写入 config文件,
2.项目中的deploy.yaml文件存在一些变量传值比如镜像设置, 通过envsubst命令,找到在之前配置流水线配置的环境变量值进行替换赋值 image: $REGISTRY/$DOCKERHUB_NAMESPACE/$PROJECT_NAME:latest
3. 赋值好之后,apply进行部署
mkdir ~/.kube
echo "$KUBECONFIG_CONTENT" > ~/.kube/config
envsubst < $PROJECT_NAME/deploy/deploy.yaml | kubectl apply -f -
九、创建项目jenkins文件
- 基于前面的操作,我们已经完成整个流水线的创建,这里为了方便后续去使用流水线编译,我们可以在流水线创建页面上点击 编辑 jenkinsfile,将生成的jenkins文件复制到我们的项目最外层目录下命名 jenkinsfile,jenkins文件就是通过前面的操作生成的编译文件,熟悉的话也可以直接写,不用图形化构建流水线 这样我们项目在gitee仓库上就多了一个配置文件,用来后续进行部署