DevOps平台实践 (2)

创建服务:

## 为k8s-slave1打标签,将jenkins-master部署在k8s-slave1节点 $ kubectl label node k8s-slave1 jenkins=true ## 部署服务 $ kubectl create -f jenkins-all.yaml ## 查看服务 $ kubectl -n jenkins get po NAME READY STATUS RESTARTS AGE jenkins-master-767df9b574-lgdr5 1/1 Running 0 20s # 查看日志,第一次启动提示需要完成初始化设置 $ kubectl -n jenkins logs -f jenkins-master-767df9b574-lgdr5 ...... ************************************************************* Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation: 5396b4e1c395450f8360efd8ee641b18 This may also be found at: /var/jenkins_home/secrets/initialAdminPassword *************************************************************

访问服务:

配置hosts解析,192.168.136.10 jenkins.luffy.com,然后使用浏览器域名访问服务。第一次访问需要大概几分钟的初始化时间。

image


使用jenkins启动日志中的密码,或者执行下面的命令获取解锁的管理员密码:

$ kubectl -n jenkins exec jenkins-master-767df9b574-lgdr5 bash / # cat /var/jenkins_home/secrets/initialAdminPassword 35b083de1d25409eaef57255e0da481a

点击叉号,跳过选择安装推荐的插件环节,直接进入Jenkins。由于默认的插件地址安装非常慢,我们可以替换成国内清华的源,进入 jenkins 工作目录,目录下面有一个 updates 的目录,下面有一个 default.json 文件,我们执行下面的命令替换插件地址:

$ cd /var/jenkins_home/updates $ sed -i \'s/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g\' default.json $ sed -i \'s/http:\/\/www.google.com/https:\/\/www.baidu.com/g\' default.json

暂时先不用重新启动pod,汉化后一起重启。

选择右上角admin->configure->password重新设置管理员密码,设置完后,会退出要求重新登录,使用admin/xxxxxx(新密码),登录即可。

image

安装汉化插件

Jenkins -> manage Jenkins -> Plugin Manager -> Avaliable,搜索 chinese关键字

image


选中后,选择[Install without restart],等待下载完成,然后点击[ Restart Jenkins when installation is complete and no jobs are running ],让Jenkins自动重启

启动后,界面默认变成中文。

Jenkins基本使用演示 演示目标

代码提交gitlab,自动触发Jenkins任务

Jenkins任务完成后发送钉钉消息通知

演示准备 演示准备

gitlab代码仓库搭建

https://github.com/sameersbn/docker-gitlab

## 全量部署的组件 $ gitlab-ctl status run: alertmanager: (pid 1987) 27s; run: log: (pid 1986) 27s run: gitaly: (pid 1950) 28s; run: log: (pid 1949) 28s run: gitlab-exporter: (pid 1985) 27s; run: log: (pid 1984) 27s run: gitlab-workhorse: (pid 1956) 28s; run: log: (pid 1955) 28s run: logrotate: (pid 1960) 28s; run: log: (pid 1959) 28s run: nginx: (pid 2439) 1s; run: log: (pid 1990) 27s run: node-exporter: (pid 1963) 28s; run: log: (pid 1962) 28s run: postgres-exporter: (pid 1989) 27s; run: log: (pid 1988) 27s run: postgresql: (pid 1945) 28s; run: log: (pid 1944) 28s run: prometheus: (pid 1973) 28s; run: log: (pid 1972) 28s run: puma: (pid 1968) 28s; run: log: (pid 1966) 28s run: redis: (pid 1952) 28s; run: log: (pid 1951) 28s run: redis-exporter: (pid 1971) 28s; run: log: (pid 1964) 28s run: sidekiq: (pid 1969) 28s; run: log: (pid 1967) 28s

部署分析:

依赖postgres

依赖redis
使用k8s部署:

准备secret文件

$ cat gitlab-secret.txt postgres.user.root=root postgres.pwd.root=1qaz2wsx $ kubectl -n jenkins create secret generic gitlab-secret --from-env-file=gitlab-secret.txt

部署postgres

注意点:

使用secret来引用账户密码

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzffpw.html