本地虚拟机jenkins与gitlab代码库搭建整合 并编译公共模块
说明以及准备项在192.168.1.119上搭建Jenkins、gitlab代码库服务。虚拟机上事先装好jdk、maven因为jenkins需要从gitlab(或者github)拉取代码故需要安装git: yum -y install git先前本人选择的是github但是家里的网太渣,jenkins拉取代码失败,只能自己手动搭建gitlab代码库一、jenkins搭建jenkins的搭建有两种方
说明以及准备项
在192.168.1.119上搭建Jenkins、gitlab代码库服务。虚拟机上事先装好jdk、maven
因为jenkins需要从gitlab(或者github)拉取代码故需要安装git: yum -y install git
先前本人选择的是github但是家里的网太渣,jenkins拉取代码失败,只能自己手动搭建gitlab代码库
一、jenkins搭建
jenkins的搭建有两种方式
1.直接跑jenkins war包
2.docker跑jenkins镜像
本文讲解第一种方式
Linux 配置jenkins源:
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
导入key(如果之前导入过,忽略这步):
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
安装jenkins: yum install jenkins
修改jenkins用户以及默认端口:
vim /usr/lib/systemd/system/jenkins.service
启动jenkins服务:systemctl start jenkins
关闭jenkins服务:systemctl stop jenkins
按照提示操作后登录jenkins后配置jenkins的环境变量:
点击系统管理:
点击系统配置:
修改jenkins的url
配置java_home、maven_home、maven_path
虚拟机上查看上述信息的配置:vim /etc/profile
点击应用保存
二、gitlab搭建
1.curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
2.yum install gitlab-ce-13.11.4-ce.0.el7.x86_64
3.修改gitlab配置文件: vim /etc/gitlab/gitlab.rb
刷新配置并重启gitlab服务:gitlab-ctl reconfigure && gitlab-ctl restart
常用命令:
关闭:gitlab-ctl stop
开启:gitlab-ctl start
重启:gitlab-ctl restart
查看状态:gitlab-ctl status
修改项目结构:
将parent项目、各子项目分离(父子项目)
登录gitlab创建仓库:
创建仓库后将本地eureka推送到gitlab
在eureka代码文件夹打开git终端依照上图命令一步步执行即可:
三、jenkins拉取gitlab代码编译公共模块
jenkins、gitlab搭建完毕后,需要在jenkins编译公共模块,为后期jenkins整合docker swarm部署springcloud服务集群做准备
本人选择的是流水线方式拉取代码部署,流程如下:
在jenkins中创建凭证
创建构建项目:
编写流水线脚本:
pipeline { agent any options { buildDiscarder(logRotator(numToKeepStr: '10')) skipStagesAfterUnstable() timestamps() } environment { //stage('Pull Source code') git_url = 'http://192.168.1.119:7081/jyw/common.git' git_branch = 'master' credentialsId='gitlab' app_name = 'common' } stages { stage('Pull Source code') { steps { git branch: git_branch, credentialsId: credentialsId, url: git_url } } stage('Build') { steps { dir('./') { sh "mvn clean install -Dmaven.test.skip=true" } } } } }
也可以选择直接在这里写流水线脚本,大同小异
保存后回到主界面
点击构建。
更多推荐
所有评论(0)