朋友的真实操作流程,使用 Jenkins 和 Kubernetes 完成持续集成和持续部署,有搭建,有入门,手把手教学文档,干得拧不出水来,分享一波。
本文作者:孙丹丹,女,单身 ,DevOps 运维工程师,CKA 认证。就职于某容器云平台服务公司,负责国内多家知名企业 DevOps 运维交付。
安装 Jenkins
启动 Jenkins 容器
docker run -d -u root -v /workspace/jenkins-home/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v "$HOME":/home -p 8080:8080 -p 50000:50000 jenkinsci/blueocean
检查 Jenkins 服务状态
docker ps | grep jenkins
启动成功后,就可以通过 ip:port 在浏览器上访问了。ip 为 docker 所在机器的 ip, port 为 Jenkins 容器映射的宿主机端口。
配置 Jenkins
Jenkins 启动成功后,需要执行一些快速的 "一次性" 步骤。当你第一次访问一个新的 Jenkins 实例时, 要求你使用自动生成的密码对其进行解锁。密码为 Jenkins 所在容器的 /var/jenkins_home/secrets/initialAdminPassword 的内容:
docker exec -it bash -c "cat /var/jenkins_home/secrets/initialAdminPassword"
或者用 K8S 命令 kubectl
kubectl exec -it bash -c "cat /var/jenkins_home/secrets/initialAdminPassword"
在 Unlock Jenkins 页面, 粘贴该密码到 Administrator password 字段并点击 Continue。解锁 Jenkins 后,插件安装页面出现,点击 Install suggested plugins 即可。
这个过程会耗时一段时间。
创建第一个管理员用户,可以填写,也可以跳过,直接使用 admin 账户继续。
这边我选择了跳过,点击开始使用 Jenkins,就可以使用 Jenkins 了。
实现 Java 应用持续集成和持续发布
Fork 和 Clone GitHub 示例仓库
1. 登录 GitHub 账号:https://github.com
2. 上传代码到 GitHub 代码仓库中,或 Fork 到你的 GitHub 仓库中,演示代码 prometheus-test-demo,地址为 https://github.com/0820sdd/prometheus-test-demo
3. 将你的 GitHub 账户中的 prometheus-test-demo 仓库 Clone 到本地机器:
a. 打开一个终端/命令提示符,并且进入正确的目录路径: Mac OS 系统路径为 `/Users//Documents/GitHub/` Linux 系统路径为`/home//GitHub/` Windows 系统路径为 `C:甥敳獲DocumentsGitHub` (推荐使用 Git bash 命令行,而不是通常的 Microsoft 命令提示符)
b. 运行以下命令完成仓库的 clone:`git clone https://github.com/YOUR-GITHUB-ACCOUNT-NAME/simple-java-maven-app` 其中 `YOUR-GITHUB-ACCOUNT-NAME` 是你的 GitHub 账户的名称。
在 Jenkins 中创建流水线
登录 Jenkins,点击页面创建一个新任务。若是你无法看见该内容,点击左上方的新建 item。