CI与CD其实对drone来说无本质区别,都是pipeline中的一个步骤而已,再抽象成镜像即插件,每个步骤做啥drone已经不关心了,是你自己决定的,所以使用drone时一定要理解其原理才能活用而且非常简单。 只要弄清楚了其原理,别说k8s了任何具备开放API的系统都可以轻松对接,这就是drone的大道至简,gitlab CI可谓深得其精髓。 |...
公司需要新搞一套CI环境,我看了一下3年前搭的东西,发现gitlab jenkins版本都太旧了。 试了下装最新的gitlab,实在太麻烦,东西太多,对local-storage的volume的支持也不行。小公司哪里去搞麻烦的pv,算了算了。 直接改用gitea和drone ci ,也遇到了不少坑,今天终于是搞完了,写个心得出来,供大家参考。 基本环境...
2.1. 部署gitlab docker run --detach --hostname 39.104.88.120 --publish 443:443 --publish 80:80 --publish 1022:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab...
选择Harbor 作为集成类型,并输入 Harbor 的访问令牌和 URL。确保选中启用自动构建和推送选项。 在Drone CI 的触发器配置中,配置一个或多个触发器来自动推送镜像到 Harbor 中。例如,你可以配置一个触发器来监听 Maven 仓库的发布事件。现在,你已经成功建立了轻量化的 CI/CD 流程。每当你在 GitLab 仓库中提交代码...
gitlab通过在项目的根目录放置.gitlab-ci.yml文件来触发pipline,文件书写遵循yml语法,因此,概括来说gitlab ci/cd只需要两步: 写好.gitlab-ci.yml文件,并放置到项目根目录 配置好gitlab runner.完成后,提交代码时会自动根据gitlab-ci.yml的触发条件进行执行相应的stage. ...
报错信息(后面的步骤):下图因为gitlab的hostname填写的域名(gitlab.admin.com),结果Drone流水线clone(克隆)代码时连接报错: 在这里插入图片描述 上图的问题除了修改gitlab主机名(hostname)之外,还可以修改drone-runner默认clone(克隆)地址解决。如下代码(这里看不懂没关系,请继续往下看后面会解释):kind: pipeline ty...
作为个人开发者,一般情况下大多数人的选择是1c2g的服务器,很显然这个配置无法带动GitLab。 我发现了一款优秀的Git托管程序Gitea,它是基于Gogs衍生而来的,且使用Golang作为开发语言。在安装非常便捷,同时功能也够个人开发者使用,还能结合Drone实现CICD。
Gitlab 由于搭建CI的时候,Gitlab私有化部署已经完成,这里不再赘述。 Drone 使用yaml文件书写配置,Drone支持多种数据库,这里使用的是Mysql。 version:"3.1"services:drone-server:container_name:drone-serverimage:"drone/drone:latest"environment:-DRONE_GITLAB_SERVER=http://192.168.224.25:8888-DRONE_GITLAB_CLIENT...
六、Drone CI+ArgoCD 部署java后端 kind:pipelinetype:dockername:构建部署trigger:branch:-feature_1130_ci-dev-testevent:-push-tag# 禁用默认克隆clone:disable:truesteps:-name:环境变量image:busyboxpull:if-not-existsprivileged:truecommands:-env-name:克隆源码image:drone/gitpull:if-not-existsprivileged:true...
相比较前篇内容中提到的老版本的 GitLab,这个方案对于资源的要求更低,让本地运行一套完整 CI 对于机器的负担降到了非常低的水平,日常运行资源占用几乎可以忽略不计(不算 CI 执行时的容器,即使算上 Traefik ,日常使用内存占用不到 200M): 代码语言:javascript 代码运行次数:0 运行 AI代码解释 CONTAINER ID NAME...