# 什么是jenkins
:::tips
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成
:::
# jenkins在工作环境的位置
![image.png](https://cdn.nlark.com/yuque/0/2022/png/29649025/1665589603425-ff47a685-3cb1-46da-961b-0d299541e7d8.png#averageHue=%23efeeee&clientId=uc2a36b5b-aaa3-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=520&id=u9cbe975f&margin=%5Bobject%20Object%5D&name=image.png&originHeight=650&originWidth=1113&originalType=binary&ratio=1&rotation=0&showTitle=false&size=123618&status=done&style=none&taskId=ued27f31b-c918-4a53-b071-30ad0b3a406&title=&width=890.4)
# 安装
:::tips
需要三台虚拟机
一台安装jenkins,一台安装gitlab,一个用于测试,其中gitlab主机推荐4G内存
:::
## 什么是gitlab
:::tips
GitLab 是一个用于仓库管理系统的开源项目,使用[Git](https://baike.baidu.com/item/Git?fromModule=lemma_inlink)作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并
:::
![](https://cdn.nlark.com/yuque/0/2022/jpeg/29649025/1665848833064-66a53ac8-35b9-4ce0-8c8a-6562caaefca5.jpeg#averageHue=%235e578c&clientId=u1baa2a6a-c9a0-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=uaca9de3b&margin=%5Bobject%20Object%5D&originHeight=225&originWidth=336&originalType=url&ratio=1&rotation=0&showTitle=false&status=done&style=none&taskId=uc4bb1133-e3a1-47be-a3ec-1f6181ef372&title=)
## gitlab的安装
:::tips
官方文档:[https://about.gitlab.com/](https://about.gitlab.com/)
:::
:::tips
官方安装文档:[https://docs.gitlab.cn/jh/install/requirements.html](https://docs.gitlab.cn/jh/install/requirements.html)
:::
:::tips
在ssh下安装:https://gitlab.cn/install/?version=ce
:::
### 通过ssh安装
#### 1 安装依赖
```python
sudo yum install -y curl policycoreutils-python openssh-server perl
sudo systemctl enable sshd
sudo systemctl start sshd
2 配置镜像
curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash
3 开始安装
sudo EXTERNAL_URL="http://192.168.10.19" yum install -y gitlab-jh
除非您在安装过程中指定了自定义密码,否则将随机生成一个密码并存储在 /etc/gitlab/initial_root_password 文件中(出于安全原因,24 小时后,此文件会被第一次 gitlab-ctl reconfigure 自动删除,因此若使用随机密码登录,建议安装成功初始登录成功之后,立即修改初始密码)。使用此密码和用户名 root 登录。
gitlab常用命令
gitlab-ctl start # 启动所有 gitlab 组件;
gitlab-ctl stop # 停止所有 gitlab 组件;
gitlab-ctl restart # 重启所有 gitlab 组件;
gitlab-ctl status # 查看服务状态;
gitlab-ctl reconfigure # 启动服务;
vi /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-ctl tail # 查看日志;
使用docker安装gitlab
在docker下安装
https://docs.gitlab.cn/jh/install/docker.html
安装所需最小配置
- 内存至少4G
- 系统内核至少在3.10以上 uname -r 命令可查看系统内核版本
安装docker
- 更新yum源
yum update
- 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加镜像
//国外镜像
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//阿里镜像
https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 查看源中可使用版本
yum list docker-ce --showduplicates | sort -r
- 安装指定版本
yum install docker
本次学习指定的版本为:docker-ce-20.10.9-3.el8
- 配置开机启动项
systemctl start docker
systemctl enable docker
docker version
使用容器安装gitlab
1.添加容器
docker run --detach \
--hostname 192.168.44.103 \
--publish 443:443 --publish 80:80 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab:Z \
--volume $GITLAB_HOME/logs:/var/log/gitlab:Z \
--volume $GITLAB_HOME/data:/var/opt/gitlab:Z \
--shm-size 256m \
registry.gitlab.cn/omnibus/gitlab-jh:latest
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--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
2.启动容器
docker start gitlab
3.查看已存在的容器
docker ps -a
4.进入容器
docker exec -it gitlab /bin/bash
访问
http://192.168.44.101
当首次运行出现502错误的时候排查两个原因
- 虚拟机内存至少需要4g
- 稍微再等等刷新一下可能就好了
管理员账号登录
用户名:root
密码存在下面文件中,登录后需要改密码不然24小时之后会失效
cat /etc/gitlab/initial_root_password
提交代码
安装jenkins
官方文档介绍非常详细
https://www.jenkins.io
机器要求:
256 MB 内存,建议大于 512 MB
10 GB 的硬盘空间(用于 Jenkins 和 Docker 镜像)
需要安装以下软件:
Java 8 ( JRE 或者 JDK 都可以)
Docker (导航到网站顶部的Get Docker链接以访问适合您平台的Docker下载)
安装JDK
1 检索可用包
yum search java|grep jdk
2 安装
yum install java-1.8.0-openjdk
安装jenkins
:::tips
接下来我们需要把下载好的war包上传到主机
:::
:::tips
使用 java -jar语句对jenkins进行编译
首次启动war包会在/root/.jenkins生成配置文件
待完全启动成功后 访问服务器8080端口完成配置
:::
Maven安装
什么是maven
Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。
官网
https://maven.apache.org/
下载后复制到Jenkins所在服务器解压缩即可,或者直接下载
:::tips
curl -O https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz
:::
[root@localhost ~]# tar -zxvf apache-maven-3.8.6-bin.tar.gz #进行解压
[root@localhost ~]# mv apache-maven-3.8.6 /usr/local/maven #移动目录
[root@localhost ~]# /usr/local/maven/bin/mvn #进行运行,查看是否成功
标签:部署,gitlab,--,yum,https,流水线,jenkins,docker,安装
From: https://www.cnblogs.com/yutoujun/p/16914775.html