首页 > 其他分享 >jenkins流水线安装部署

jenkins流水线安装部署

时间:2022-11-22 12:56:24浏览次数:77  
标签:部署 gitlab -- yum https 流水线 jenkins docker 安装

# 什么是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

  1. 更新yum源

yum update

  1. 安装依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

  1. 添加镜像
//国外镜像
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

  1. 查看源中可使用版本
 yum list docker-ce --showduplicates | sort -r 
  1. 安装指定版本
yum install docker 
本次学习指定的版本为:docker-ce-20.10.9-3.el8

  1. 配置开机启动项
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错误的时候排查两个原因

  1. 虚拟机内存至少需要4g
  2. 稍微再等等刷新一下可能就好了

管理员账号登录

用户名:root
密码存在下面文件中,登录后需要改密码不然24小时之后会失效

cat /etc/gitlab/initial_root_password

image.png

提交代码

image.png

image.png

image.pngimage.png
image.png

安装jenkins

官方文档介绍非常详细
https://www.jenkins.io

机器要求:

256 MB 内存,建议大于 512 MB

10 GB 的硬盘空间(用于 Jenkins 和 Docker 镜像)

需要安装以下软件:

Java 8 ( JRE 或者 JDK 都可以)

Docker (导航到网站顶部的Get Docker链接以访问适合您平台的Docker下载)

image.png
image.png

安装JDK

1 检索可用包

yum search java|grep jdk 

2 安装

yum install java-1.8.0-openjdk

安装jenkins

:::tips
接下来我们需要把下载好的war包上传到主机
:::
image.png
:::tips
使用 java -jar语句对jenkins进行编译
首次启动war包会在/root/.jenkins生成配置文件
待完全启动成功后 访问服务器8080端口完成配置
:::
image.png
image.png
image.png
image.png
image.png

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
:::
image.png

[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 #进行运行,查看是否成功

image.png

标签:部署,gitlab,--,yum,https,流水线,jenkins,docker,安装
From: https://www.cnblogs.com/yutoujun/p/16914775.html

相关文章

  • tomcat 部署
    实验环境:Centos7.3操作系统, 实验步骤:  (1)配置JAVA环境,并且关闭防火墙 [root@localhost~]#systemctlstopfirewalld                    ......
  • Docker Compose 部署 Jenkins
    Jenkins介绍Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab、Docker、K8s作为实现DevOps的核心......
  • 前端使用scp命令部署到服务器
    由于没有弄自动部署环境,每次打包后,不是要把代码发给后端就是发给运维,比较麻烦。所以想到了命令部署。弄起来也很简单,使用nodejs的scp即可以vue-cli创建的vue2项目为例......
  • LVS+Keepalived 高可用群集部署
    一、LVS+Keepalived高可用群集在这个高度信息化的IT时代,企业的生产系统、业务运营、销售和支持,以及日常管理等环节越来越依赖于计算机信息和服务,对高可用(HA)技术的应用......
  • windows服务器Nginx一键安装部署
    原文链接:https://www.cnblogs.com/xiaoXuZhi/p/nginx.html作为一名专业搬砖工,Nginx是我们绕不开的砖头,最近连续部署了几个服务器,Ctrl a+Ctrlv在飞来飞去,总是会遇到......
  • python flask实战订餐系统微信小程序-59flask部署单进程启动服务
    欢迎关注原创Python微信订餐小程序课程视频Python实战量化交易理财系统​​python​​​​flask​​实战订餐系统微信小程序-60nginx+uwsgi实现多进程访问​​​B站配套......
  • 【2022.11.21】luffy项目部署(13)
    内容详情1支付宝支付介绍#项目中需要有在线支付功能 -支付宝支付-微信支付:备案过域名-云闪付#咱们项目以支付宝支付为例 -支付流程-AP......
  • Docker Compose 部署GitLab
    先决条件DockerEngine和DockerCompose是必需的。请参阅在CentOS上安装DockerEngine。建议使用4核的服务器,同时至少分配4G的内存,理论上4核4G可最多支持500个用户。......
  • frp 容器化部署
    frp服务端部署编写docker-compose.yml文件,这里设置成放开7000-7010的端口,可以根据需求自行修改version:"3"services:frps:container_name:frpsima......
  • 小公司的应用服务部署历程
    先声明一下:我所在的公司是一个小团队,做物联网相关的,前后端、硬件、测试加起来也就五六十个人左右;本人的岗位是Java开发(兼DBA、运维。。。);我进公司时整个项目的部署架构为......