1.环境
我这里准备了三台centos7
1.用于部署gitlab 运行内存:6G 名字:Jenkins-GitLab 192.168.6.1
2.用于部署jenkins 运行内存:2G 名字:Jenkins-server 192.168.6.2
3.用于打包测试 运行内存:2G 名字:Jenkins-test 192.168.6.3
2.jenkins简介
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
作为一个可扩展的自动化服务器,Jenkins 可以用作简单的 CI 服务器,或者变成任何项目的持续交付中心。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
Jenkins 是一个基于 Java 的独立程序,可以立即运行,包含 Windows、Mac OS X 和其他类 Unix 操作系统。
Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。
Jenkins 可以通过其插件架构进行扩展,从而为 Jenkins 可以做的事提供几乎无限的可能性。
可以轻松地在多台机器上分配工作,帮助更快速地跨多个平台推动构建、测试和部署
Jenkins 用户手册https://www.jenkins.io/zh/doc/这个是jenkins的用户手册,如果需要详细的资料可以去里面翻阅一下
3.yum在线部署gitlab
GitLab下载安装_GitLab最新中文官网免费版下载-极狐GitLabhttps://gitlab.cn/install/ 官网下载安装包的的地方,各大主流版本支持的都有,这里我使用的centos7
yum install -y curl policycoreutils-python openssh-server perl
并且开启你的sshd,如果你正在使用这ssh工具连接你的Linux则可以直接下一步
systemctl start sshd
systemctl enable sshd
然后配置他的一个官方yum源
curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash
EXTERNAL_URL="http://192.168.6.2" yum install -y gitlab-jh#!!!注意,这里的ip地址填你自己gitlab的地址
这里可能需要一段时间,不要觉得时间长就停掉了
gitlab-ctl start #开启gitlab所有组件服务
gitlab-ctl restart #重启gitlab所有组件服务
gitlab-ctl stop #关闭gitlab所有组件服务
gitlab-ctl status #查看服务情况
gitlab-ctl tail #查看日志
gitlab-ctl reconfigure #开启服务
502的话不要慌,等会
让后直接访问服务器ip进行访问
刚刚安装时候他又有这么一段提示,账户是root 默认密码给你保存在那个文件夹里了,超过24小时就把那个文件夹删除了
然后就进来了
进入管理员界面
让后就可以进行修改密码了
4.dockers部署 gitlab
首先要有docker的一个环境如果没有的话可以去看下面这个网站先安装一下
https://docs.docker.com/engine/install/
下面就正式在docker下安装gitlab
export GITLAB_HOME=/srv/gitlab
这个变量用作安装目录
$GITLAB_HOME/data | /var/opt/gitlab | 用于存储应用程序数据。 |
$GITLAB_HOME/logs | /var/log/gitlab | 用于存储日志。 |
$GITLAB_HOME/config | /etc/gitlab | 用于存储极狐GitLab 配置文件。 |
这个是极狐的一些路径
sudo docker run --detach \--hostname 192.168.6.7 \--publish 443:443 --publish 80:80 \--name gitlab \--restart always \--volume $GITLAB_HOME/config:/etc/gitlab \--volume $GITLAB_HOME/logs:/var/log/gitlab \--volume $GITLAB_HOME/data:/var/opt/gitlab \--shm-size 256m \registry.gitlab.cn/omnibus/gitlab-jh:latest
开始运行极狐,如果你没有镜像的话会自动下载,并且每次都随着docker重启而启动,你可以理解为开机自启,注意!!,把上面的ip地址改成你服务器的ip地址
如果是502的话不要慌,等一小会
出现这个界面我们再去找密码
docker exec -it gitlab /bin/bash
进入容器以后再执行
cat /etc/gitlab/initial_root_password
我们的密码都不一样,你需要自己去寻找你的密码
5.jar部署Jenkins
如果你是centos7我推荐你用下面的方法安装 使用rpm进行安装,如果你使用这种,兼容性高的var包可能会导致软件推荐给你安装的插件失败,使用rpm包的方式安装可能不会这样
Jenkins 的安装和设置https://www.jenkins.io/zh/download/到Jenkins的官方网站下载一个war包
让后上传到 Linux服务器中
yum -y install java-11-openjdk
安装java的一个环境
java -jar jenkins.war
运行jenkins
启动成功 那串数值就是默认的解锁码
启动后在当前用户的默认目录下载会生成目录 .jenkins/
访问Jenkins
你的服务器ip:8080
输入刚刚那串数值
开始配置插件,选择我们需要的插件,这里选择安装推荐的插件
等待即可
如果出现安装失败不要着急,等会进去再进行配置下载
直接继续
让后进行一个用户的创建
保存并完成
开始使用Jenkins!!
成功进入主界面
6. rpm部署Jenkins
Redhat Jenkins Packageshttps://get.jenkins.io/redhat/Jenkins官网rpm安装包
下载这个包以后放进服务器再进行安装安装
rpm -ivh jenkins-2.445-1.1.noarch.rpm
systemctl start jenkins.service
systemctl status jenkins.service#只要是running则成功开启
也是和jar安装一样,进行用户的配置
vim /usr/lib/systemd/system/jenkins.service#配置Jenkins的主配置文件我主要配置的就是主配置文件的路径和默认用户(可以默认不动)
配置java的默认目录
配置端口号(默认8080)#刚刚我使用的yum安装的java 所以他所在的目录就在/usr/lib/jvm/java-11-openjdk-11.0.8.10-1.el7.x86_64,你如果是自定义安装的java则指定你安装的路径即可,如果你也是使用的yum或rpm进行自动安装,但是你不知道放在了哪里,你可以使用 readlink -f $(which java) 进行java路径的查询
修改完重启即可
systemctl daemon-reload
7.解决插件安装失败
解决这一步的,如果你没问题,则可以直接跳过
点击纠正
填写: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
让后就可以在这里挑挑把没安装的统统安装了
8下载安装Maven
是使用的apache的Maven进行的代码拉取
Maven – Welcome to Apache Mavenhttps://maven.apache.org/
进入官网下载maven tar 包
下载完放进Linux进行解压
tar xfv apache-maven-3.9.6-bin.tar.gz
mv apache-maven-3.9.6 /usr/local/maven
/usr/local/maven/bin/mvn
运行maven,没报错就行
/usr/local/maven/bin/mvn -v
查看maven的版本
让后进去Jenkins
现在去里面看发现并没有maven
我们先要去里面安装一个插件
进入pluginsp
找到这个插件。这个插件主要是给我们构建项目用的
直接给他勾上,让后安装 耐心等待
这样就好了
现在我们再去构建项目
发现现在就可以去构建maven项目了
然后额外再安装两个这个就行了
yum -y install git
yum -y install java-devel
修改gitlab的root密码
如果你忘记了root的密码可以进入gitlab的数据库进行数据的修改
gitlab-rails console -e production
user = User.where(id:1).first
user.password='你要修该的密码'
user.save!
如果你是docker部署的只需进去容器再依次执行上面的命令即可
docker exec -it gitlab /bin/bash
进入容器