本文内容包括:安装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,进行第一次构建,一般比较慢,应用需要下载一些包。