基于gitlab的drone的搭建和使用

本文介绍了如何在CentOS 7.6系统中部署GitLab服务和Drone CI/CD工具。首先在192.168.25.135上安装配置GitLab,包括安装依赖、开启服务、修改管理员密码等步骤。然后在192.168.25.132上部署Drone,包括在GitLab创建认证、启动Drone Server和解决仓库激活及权限设置问题。最后提到了在Drone上部署Docker Runner时可能遇到的问题及其解决方案。
摘要由CSDN通过智能技术生成

环境:CentOS Linux release 7.6.1810
gitlab服务地址:192.168.25.135
drone服务地址:192.168.25.132
在192.168.25.135部署gitlab服务:
1、安装依赖

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

2、打开防火墙访问控制(关闭防火墙,可忽略)

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

3、安装邮件服务(按需配置)

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

4、配置gitlab的yum仓库

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

5、yum安装gitlab服务
安装时要将EXTERNAL_URL的内容填写为自己gitlab准备配置的地址(因为此时用虚拟机,未配置域名,所以使用http://192.168.25.135)

sudo EXTERNAL_URL="http://192.168.25.135" yum install -y gitlab-ee

6、gitlab配置文件:/etc/gitlab/gitlab.rb(可以修改EXTERNAL_URL等配置)
修改配置文件后执行进行更新:
gitlab-ctl reconfigure
gitlab项目目录:/var/opt/gitlab
gitlab服务名称:gitlab-runsvdir
启动、停止、重启服务:

systemctl (start|stop|restart|status)  gitlab-runsvdir
gitlab-ctl (start|stop|restart|status)

7、修改管理员默认密码

#gitlab-rails console production    //进入gitlab管理控制台
irb(main):001:0>u=User.where(id:1).first    //查找账号(User.all 可以查看所有用户)
irb(main):002:0>u.password='12345678'    //设置密码为12345678
irb(main):003:0>u.password_confirmation='12345678' 
### 实现CI/CD流程使用Drone CI #### 安装与配置Drone Server 为了设置基于Drone的持续集成(CI)/持续部署(CD),首先需要安装并运行Drone服务器。这通常通过容器化环境完成,比如利用Docker来简化部署过程[^2]。 对于大多数项目而言,在启动之前要确保已经正确设置了GitHub或GitLab账号,并获取了OAuth应用的相关凭证用于连接到版本控制系统。接着按照官方文档指导下载适合操作系统的二进制文件或是采用更便捷的方式——借助于Docker镜像快速拉起服务实例: ```bash docker run \ --volume=/var/lib/drone:/data \ --env=DRONE_GITHUB_CLIENT_ID=${CLIENT_ID} \ --env=DRONE_GITHUB_CLIENT_SECRET=${SECRET_KEY} \ --env=DRONE_RPC_SECRET=${RPC_SECRET} \ --publish=80:80 \ drone/drone:latest ``` 上述命令会创建一个新的Drone实例并将端口映射至主机上监听HTTP请求;同时指定了必要的环境变量以便对接第三方平台API接口认证机制。 #### 配置`.drone.yml` 文件 一旦成功搭建好基础架构之后,则需针对具体仓库定义工作流描述符即`.drone.yml`文件放置根目录下。此YAML格式配置项决定了每次触发构建事件后的执行路径以及各阶段的任务细节。下面给出了一种典型的Go语言项目的例子: ```yaml kind: pipeline type: docker name: default steps: - name: build image: golang:alpine commands: - go mod download - go test ./... - go build . - name: publish image: plugins/docker settings: repo: your-dockerhub-repo/image-name tags: latest when: event: push branch: main ``` 这段脚本说明当开发者向默认分支提交新改动时,将会自动触发一系列动作:从依赖解析直至最终制品发布整个链条都由Drone负责协调管理。值得注意的是这里还引入了一个插件帮助推送镜像到远程注册表中去[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值