jenkins的多节点集群
在进行自动化部署时,你可以按着它们的项目类型去进行分别部署,这样即可以达到负载均衡,又可以达到一种职责的明确,比如像java的项目你可以使用linux服务来进行部署(拉代码,还原,编译,发布,生成镜像,推镜像到仓库,建立服务等),而对于.net项目你可以使用windows服务器来实现jenkins的节点,而它们的入口都是jenkins的master,由它根据每个节点的标记进行分发!
节点各有其责
每个节点一般都会做项目的依赖包还原,代码编译,发布,镜像的生成,镜像的推送到仓库,docker服务的建立等工作,下面就来说一下这些工作的细节,如windows平台里的.net项目,它会有一个windows服务器为它提供自动化部署的服务,使用以下功能。
- 编译
- 发布
- 镜像的生成
- 镜像的推送到仓库
- docker服务的建立
上面步骤对应的部分代码如下,SH脚本,主要在linux进行部署,如果是在windows上进行部署的话,建议使用powershell脚本。
项目编译与发布
set -ex export Publish_Path="obj\Docker\publish" echo "项目恢复" dotnet restore echo "项目编译" dotnet build echo "项目发布" dotnet publish -o obj/Docker/publish echo "发布成功,开始构建docker镜像"
生成镜像和推送到仓库
#!/bin/sh set -ex export IMAGE_NAME=microserviceOrder export Registry_Url="www.lind.cn:8443" docker build --no-cache --pull -t $IMAGE_NAME ./ docker tag $IMAGE_NAME $Registry_Url/$IMAGE_NAME docker push $Registry_Url/$IMAGE_NAME
分发与jenkins项目依赖
在建立节点时可以指定它的标签,使用请求到主jenkins节点后,根据标签去分发,找到目标的节点,然后去处理相应的工作
根据构建后的项目依赖去实现自动化部署多项目的关联
以上内容就是我对jenkins集群中各节点职责,请求分发,项目依赖的理解,希望可以帮到正在学习的您!
感谢各位粉丝的支持!
谢谢!