天天看点

利用Jenkins实现从源码到Pod部署全流程(CI/CD)

本文内容包括:安装jenkins,插件安装,新建maven job,mvn打包,构建镜像,推送镜像仓库,部署至k8s平台。帮助构建应用从源码到一键部署k8s平台的整体流程实践。

1. 安装Jenkins

这里直接参照Jenkins官方文档:https://www.jenkins.io/zh/doc/book/installing/

基于之前的踩坑经历,这里用Docker方式来部署,因为非Docker方式时配置Kubernetes可能有问题,暂不去深究,本身也是容器化项目,用Docker也是顺势而为。

docker run \
  -u root \
  --rm \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean
           

说明:这里的jenkins-data对应的目录为宿主机上的/var/lib/docker/volumes/jenkins-data

也可以通过docker volumes ls查看到,这就是利用了docker的volume机制,持久化jenkins配置,方便后续迁移。这里部署的是单机版Jenkins。

2. 安装完成后,通过地址:http://ip:8080进入后,输入密码(控制台输出),密码存在于:

cat /var/lib/docker/volumes/jenkins-data/_data/secrets/initialAdminPassword

安装推荐插件,如果出现个别下载失败的,点击重试一般可以修复。

基于这个向导安装完成后,登录Jenkins管理平台。

依次点击:系统管理-->插件管理-->可选插件-->搜索插件:Gitlab\Docker\Maven\Kubernetes插件安装并重启。

再进入:系统管理-->全局工具配置-->mavn的setting配置需要提供gitlab本地化setting文件替换

/var/lib/docker/volumes/jenkins-data/_data/tools/hudson.tasks.Maven_MavenInstallation/mvn/conf

系统管理-->全局工具配置-->JDK安装-->选择jdk8u202版本下载,可能需要提供oracle的账户密码。

3. 新建名为alpha的maven job

填写对应的gitlab地址,gitalb账户密码。输入maven的执行命令:clean package -Dmaven.test.skip=true

基于以上配置后,可以点击build now,进行第一次构建,一般比较慢,应用需要下载一些包。

继续阅读