GitLab CI 是 GitLab 默认集成的 CI 功能,GitLab CI 通过在项目内 .gitlab-ci.yaml 配置文件读取 CI 任务并进行相应处理;GitLab CI 通过其称为 GitLab Runner 的 Agent 端进行 build 操作;Runner 本身可以使用多种方式安装,比如使用 Docker 镜像启动等;Runner 在进行 build 操作时也可以选择多种 build 环境...
接下来,我们将通过以下步骤来实现 GitLab 的 CICD 功能: 创建GitLab 持久存储卷首先,我们需要为 GitLab 创建持久存储卷。这可以通过动态存储或静态存储来实现,具体取决于您的需求和环境配置。a. 动态存储:使用 Kubernetes 的持久卷声明 (Persistent Volume Claim, PVC) 来动态分配存储。创建一个名为 gitlab-pvc....
一、环境准备 k8s集群环境(我这里是三台的K8s集群); 单独一台docker服务器,主要用于向私有仓库上传镜像,Jenkins和gitlab也部署在这台服务器; 上述环境共计服务器4台,均指向同一个私有仓库,以便共享docker镜像; 服务器IP依次为192.168.20.2、20.3、20.4、20.5(前三个IP为K8s集群中的节点) Jenkins采用war包的方式部...
最近朋友接了一个外包,这家外包公司用gitlab来做cicd,朋友之前自动化部署基本上都是利用jenkins,没接触过过gitlab的cicd,朋友他对技术也是比较有追求,他发现这家公司k8s的yaml文件,很多字段其实可以抽出来,配合cicd动态传入,而不是把那些字段直接写死在yaml文件,比如docker镜像。刚好我之前也玩过一阵子基于gitlab的...
GITLAB_CI_TOKEN:Gitlab CI Register Token的base64编码 配置存储 创建对象存储bucket 因构建过程需要缓存一些文件,例如依赖,所以要给Runner配置存储。这里用到的分布式存储是ceph,首先创建Runner专用的账户和对象存储bucket,参照这篇教程:Go项目基于Gitlab CI/CD实践二:Rook Ceph创建S3 bucket用于Gitlab Runner缓存。
极狐GitLab整合K8S实现GitOps与CI/CD(Agent方式) 1. 简介 参考文档: Connecting a Kubernetes cluster with GitLab | GitLab 极狐GitLab Kubernetes Agent 是用安全和云原生方式实现极狐GitLab 与
使用GitLab、Jenkins和Kubernetes(k8s)来构建CI/CD解决方案的前提是已经有一套可以正常运行的Kubernetes集群,关于Kubernetes(k8s)集群的安装部署,可以查看博客《Centos7 安装部署Kubernetes(k8s)集群》https://www.cnblogs.com/renshengdezheli/p/16686769.html。
在搭建好的CICD平台上持续集成部署hexo博客系统 其中Gitlab+Jenkins+Harbor都是通过容器化部署 篇幅有限,关于CD环境k8s集群这里用之前部署好的,并且已经做了kubeconfig证书 下面为涉及到的机器: 用到的机器ip 客户机本地物理机 Gitlab+Jenkins+Docker192.168.112.10 ...
一、纯 k8s 部署实现 gitlab CICD gitlab CICD k8s 安装 GitLab GitLab 具有三个需要进行持久化的目录,它们分别是 /etc/gitlab、/var/log/gitlab、/var/opt/gitlab,它们分别为 Gitlab 的运行提供配置、日志、数据的持久化。我们使用 nfs 来作为 GitLab 的持久化方式(当然,你也可以选择其他方式),...
在GitLab服务器上执行以下命令,可以看到不用输入用户名密码就可以登录到K8S集群的Master节点了 ssh 192.168.184.130 三、更新SSH_KNOWN_HOSTS变量值 获取K8S集群Master节点的公钥,并更新到全局的CI/CD变量SSH_KNOWN_HOSTS中。 在GitLab服务器上使用以下命令收集K8S集群Master节点(IP:192.168.184.130)公钥相关内容,并复制...