作者:微信小助手
发布时间:2024-01-24T13:10:16
一键部署springcloud微服务,需要用到 Jenkins K8S Docker等工具,自行安装即可。 本文使用jenkins部署,流程如下图 其中 2~5步骤都会在jenkins中进行操作 这一步本文不做详细描述 这里需要用到Jenkins 的 pipeline插件 因为jenkins需要pull git上的代码,正常来说,代码都是私有的,git clone操作的时候会需要密码,就不能完成自动化操作了。这里使用SSH-KEY 的方式,让 在jenkins所在环境里执行 注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱 现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱 按照提示完成三次回车,即可生成 ssh key。通过查看 得到公钥 public key 内容 复制备用 git平台可以是github,gitee,也可以是自己搭建的gitlab等 我这里使用gitee 通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 添加成功后,到jenkins所在环境运行 首次使用需要确认并添加主机到本机SSH可信列表。若返回 复制你项目的SSH链接 在jenkins所在环境 执行 新建任务 选择流水线 确定 这里勾选参数化构建,选择字符参数,用于输入构建代码的版本 默认值填master,根据自身项目实际填写 拉到最下面的流水线,写pipeline脚本,如果不知道怎么写,可以点击流水线语法进行参考 这是我的脚本, REPOSITORY 填写项目的ssh地址, 保存 返回Jenkins 首页,选择刚刚创建的项目 点击右边的运行按钮 输入代码分支版本 点击开始构建
push docker
镜像到
docker registry
1、开发者将代码PUSH到Git
2、通过Jenkins部署,自动到Git上PULL代码
2.1、 配置SSH-KEY
git clone
操作无需密码就能完成克隆2.1.1、生成/添加SSH公钥
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
~/.ssh/id_ed25519.pub
文件内容,获取到你的 public key
cat ~/.ssh/id_ed25519.pub
2.1.2、将公钥配置到git平台
public key
添加到仓库中。
ssh -T git@gitee.com
Hi XXX! You’ve successfully authenticated, but Gitee.com does not provide shell access.
内容,则证明添加成功2.1.3、测试
git clone git@gitee.com:xxxx.git
2.2、配置Jenkins的pipeline 自动clone代码
2.2.1、Jenkins创建任务
REPOSITORY_VERSION
是刚刚配置的构建参数pipeline {
agent any
environment {
REPOSITORY="git@gitee.com:xxxxxx/cloud-demo.git"
}
stages {
stage('拉代码') {
steps {
echo "start fetch code from git:${REPOSITORY}"
deleteDir()
git branch: "${REPOSITORY_VERSION}", url: "${REPOSITORY}"
}
}
}
}2.2.2、测试拉代码流程