假如日志不够和谐,那就,那就,,,debug 吧 。
4.2、网络配置前面 GitLab + Jenkins + Harbor 三个工具的配置文件里我们都设置了域名,如果是 kubeadm 直接部署的 k8s 集群,你可以直接将这些域名与 IP 的映射关系配置到 DNS 服务器里 。
如果没有 DNS 服务器,你也可以直接将域名与 IP 的映射关系配置到 /etc/hosts 以及 CoreDNS 的 ConfigMap kube-system/coredns 里让域名生效 。比如:
- 修改 /etc/hosts 文件,添加这条记录(记得替换成你自己的 IP):
44.33.22.11 gitlab.example.com jenkins.example.com harbor.example.com - 修改 CoreDNS 的配置,在 ConfigMap kube-system/coredns 中添加静态解析记录:
- 执行命令:kubectl edit cm coredns -n kube-system;
- 在 hosts(第20行左右) 部分添加和 /etc/hosts 一样的记录 。
4.3、验证工具链部署结果来,看下新部署的 GitLab、Jenkins、Harbor 是不是都能访问到 。
4.3.1、GitLab不出意外的话,你可以在自己的 PC 里配置 44.33.22.11 gitlab.example.com 静态域名解析记录,然后在浏览器里通过 http://gitlab.example.com:30080 访问到 GitLab:
文章插图
然后通过执行如下命令,你就能获得 GitLab 的初始 root 密码了:
【GitLab + Jenkins + Harbor 工具链快速落地指南】docker exec gitlab cat /etc/gitlab/initial_root_password | grep Password:拿到 root 密码后,你可以尝试用 root/YOUR_PASSWORD 来登录 GitLab 。因为后面我们需要用到 GitLab 的 token,所以这时候可以顺手创建一个 token:
文章插图
4.3.2、Jenkins在浏览器里通过 http://jenkins.example.com:32000 就可以访问到 Jenkins 了:
文章插图
Jenkins 的 admin 用户初始登录密码是 changeme,如果你仔细看了前面 dtm 使用的配置文件,可以发现这是在配置文件里指定的 。我们尝试用 admin/changeme 登录 Jenkins 检查功能是否正常,不过这时不需要在 Jenkins 上进行任何额外的操作 。
文章插图
4.3.3、Harbor我们可以通过 docker login harbor.example.com:80 命令来尝试登录 Harbor,也可以直接通过 http://harbor.example.com:30180 访问 Dashboard:
文章插图
Harbor 的 admin 用户初始登录密码是 Harbor12345,我们尝试用 admin/Harbor12345 登录 Harbor:
文章插图
4.4、流水线配置工具有了,下一步就是配置流水线了,咱继续准备第二个配置文件(config-pipeline.yaml):
---varFile: "" # If not empty, use the specified external variables config filetoolFile: "" # If not empty, use the specified external tools config filepluginDir: "" # If empty, use the default value: ~/.devstream/plugins, or use -d flag to specify a directorystate: # state config, backend can be local, s3 or k8s backend: local options: stateFile: devstream-2.state---tools:- name: repo-scaffolding instanceID: springboot dependsOn: [ ] options: destinationRepo: owner: root repo: spring-demo branch: master repoType: gitlab baseURL: http://gitlab.example.com:30080 sourceRepo: owner: devstream-io repo: dtm-repo-scaffolding-java-springboot repoType: github- name: jenkins-pipeline instanceID: default dependsOn: [repo-scaffolding.springboot] options: jenkins: url: http://44.33.22.11:32000 user: admin enableRestart: true scm: cloneURL: http://gitlab.example.com:30080/root/spring-demo branch: master pipeline: jobName: test-job jenkinsfilePath: https://raw.githubusercontent.com/devstream-io/dtm-jenkins-pipeline-example/main/springboot/Jenkinsfile imageRepo: url: http://harbor.example.com:80 user: admin