gitlab-cicd持续化集成搭建

前言

这次安装的gitlab和runner都是用docker运行的 ,gitlab version是16.0以上的了,所以runner的注册绑定会和以前有一点点改动。

1. 安装gitlab:

docker run -d -p 7443:443 -p 80:80 -p 7022:22 --privileged=true --name gitlab --restart always -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

修改配置:

vim /data/gitlab/config/gitlab.rb

添加或者修改这部份:

# 配置http协议所使用的访问地址,不加端口号默认为80,最好是域名
external_url 'http://ip'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = 'ip'
gitlab_rails['gitlab_shell_ssh_port'] = 7022

登陆默认账户是root
1.查找默认密码是可以输入显示的就是密码:

grep Password /data/gitlab/config/initial_root_password

2.也可以直接修改
第一次进去如果没有提示修改root管理员账户

docker exec -it  xx_gitlab_id  /bin/bash

执行下面这个命令修改
id:1 一般都是root的账号

gitlab-rails console -e production                  #这一步会要等待一下
user = User.where(id: 1).first                         #此 user 则表示 root 用户
user.password =  '+passwd'                          #修改密码, 
user.password_confirmation = '+passwd'      #确认密码
user.save!
exit

补充:
同理也可以进控制台修改别人的账户密码:

gitlab-rails console -e production
user=User.where(email:‘jenkins@domian.com’).first #通过邮箱找到用户
user.password=12345678 #重置密码
user.password_confirmation=12345678 #确认密码
user.save! #保存
exit

gitlab就算安装完了,如果ip设置那里端口80被占用了,你们用了别的端口,跳转有点问题的话,可以用nginx路由,
然后创建用户和项目都会吧!

2. 安装gitlab-runner:

docker run -d --name gitlab-runner --restart always \
--privileged \
-v /data/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
gitlab/gitlab-runner:latest

3. 绑定runner

三种runner类型
官方描述:https://docs.gitlab.com/ee/ci/runners/runners_scope.html

Shared runners are available to all groups and projects in a GitLab instance.
Group runners are available to all projects and subgroups in a group.
Specific runners are associated with specific projects. Typically, specific runners are used for one project at a time.
1.我是给项目配置的runner, 配置路径在项目setting里面的CI/CD:
在这里插入图片描述
2. 创建runner:
tag我给test,其他的随便吧,看自己需要
在这里插入图片描述
然后把下面显示的命令复制,进入gitlab-runner容器里面执行:
在这里插入图片描述
刚创建是黑色的感叹号,等执行以上的命令绑定后,就会变成running状态了:
在这里插入图片描述
在这里插入图片描述

4. 测试

项目的根目录添加.gitlab-ci.yml文件测试一下:

stages:
  - build
  - deploy
build:
  stage: build 
  tags:
    - test # 设置runner时候添加的tags
  only:
    refs:
      - main # 指定分支
  script:
    - echo "./gradlew clean "
    - echo "./gradlew build"
deploy:
  stage: deploy
  tags:
    - test
  only:
    refs:
      - main
  script:
    - echo "hello deploy"

后面记得要去学习gitlab-cicd相关的命令喔

补充:docker里面搭建编译服务环境

如果后面注册的runner executor是shell,可以在gitlab-runner容器里面搭建一个可以build服务的环境:

# 切换安装目录
cd /usr/local

# 下载java
wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz
# 解压软件包
tar -zxvf openjdk-17.0.2_linux-x64_bin.tar.gz
# 重命名目录
mv jdk-17.0.2 jdk-17

# 下载gradle
wget https://services.gradle.org/distributions/gradle-7.6.1-bin.zip
# 解压软件包
unzip gradle-7.6.1-bin.zip

# 下载maven
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
# 解压软件包
tar -zxvf apache-maven-3.8.8-bin.tar.gz

# 配置环境变量
vim /etc/profile
# 加上
export MAVEN_HOME=/usr/local/apache-maven-3.8.8
export JAVA_HOME=/usr/local/jdk-17
export GRADLE_HOME=/usr/local/gradle-7.6.1
export PATH=$MAVEN_HOME/bin:$GRADLE_HOME/bin:$JAVA_HOME/bin:$PATH

# 加载
source /etc/profile

如果提示 command not found: unzip

apt-get update
apt-get install unzip

如果提示 command not found: vim

apt-get update
apt-get install vim

参考地址
https://blog.csdn.net/qinjm8888/article/details/109355888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值