devops(gitlab-ci部署与应用)

本文档详细介绍了如何安装和配置GitLab-EE以及GitLab-Runner。首先,通过Docker在/app/gitlab-ee路径下部署GitLab-EE,然后在同一目录下安装GitLab-Runner并进行注册。配置过程中,指定了runner的镜像为docker:stable,并配置了相关环境变量。在gitlab-ci.yml文件中,使用docker:20.10.3作为基础镜像,执行构建脚本。文章还提供了扩展GitLab-CI语法的学习资源。

安装目录

/app/gitlab-ee /app/gitlab-runner

安装gitlab-ee

cd /app/gitlab-ee
​
sudo docker run --detach \
--name gitlab \
--hostname gitlab.example.com \
--publish 11443:443 --publish 1180:80 --publish 1122:22 \
--restart always \
--volume $(pwd)/config:/etc/gitlab \
--volume $(pwd)/logs:/var/log/gitlab \
--volume $(pwd)/data:/var/opt/gitlab \
gitlab/gitlab-ee:13.10.2-ee.0

安装gitlab-runner

cd /app/gitlab-runner
​
docker run --detach \
--name gitlab-runner \
-v $(pwd)/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:v13.10.0

配置gitlab-runner->gitlab-ee(绑定)

docker run --rm -it \
-v $(pwd)/config:/etc/gitlab-runner \
gitlab/gitlab-runner:v13.10.0 \
register
  • url/token位置

    • gitlabhost_ip:port/admin/runners

  • 指定runner的镜像(用于跑docker)

    • docker:stable

docker-runner config.yml配置

clone_url影响到gitlab仓库的位置

volumes的配置影响到docker的使用

[[runners]]
  name = "r2"
  url = "http://92.168.56.102:1180/"
  clone_url = "http://92.168.56.102:1180/"
  token = "Cg23LsuK85Ecyah_W3w8"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "docker:stable"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
    shm_size = 0

gitlab-ci.yml配置

image: docker:20.10.3
services:
  - docker:dind
stages:
  - package
docker-build:
  stage: package
  script:
  - whoami
  - docker stop mygin2 || echo 0
  - docker run --rm --name mygin2 -p 8088:8089 -d k8s-gin:1.1

扩展 gitlab-ci语法学习

### 配置 `.gitlab-ci.yml` 使用 GitLab AutoDevOps 为了启用并配置 GitLab 的 AutoDevOps 功能,项目中的`.gitlab-ci.yml`文件需要特定的条目来触发自动化的构建、测试以及部署流程。AutoDevOps 是一种简化的方式,它允许开发者通过最少的配置实现持续集成(CI) 和持续交付(CD)[^3]。 当希望在项目中激活 AutoDevOps 时,可以在项目的根目录下的`.gitlab-ci.yml`文件内加入如下所示的内容: ```yaml stages: - test - build - deploy auto_dev_ops_pipeline: stage: test script: - echo "This pipeline is using Auto DevOps" only: - main ``` 上述 YAML 片段定义了一个简单的流水线结构,并指定了仅在 `main` 分支上的更改才会触发此管道执行[^1]。然而,这并不是完整的 AutoDevOps 设置;实际上,对于大多数情况来说,只需要简单地包含下面这一行即可开启默认行为: ```yaml include: - template: Auto-Deploy.gitlab-ci.yml ``` 这段代码告诉 GitLab CI/CD 流水线去加载官方提供的模板,该模板包含了所有必要的作业(job),用于完成从构建镜像到最终部署应用的过程[^4]。 一旦完成了这些修改之后,记得将更新后的`.gitlab-ci.yml`推送到远程仓库对应的分支上去,这样才能使新的CI/CD策略生效。 验证所编辑好的`.gitlab-ci.yml`是否正确无误非常重要,可以利用 GitLab 自带的一个名为 Lint 工具来进行语法检查。Lint 可以帮助发现潜在错误或不兼容项,从而提高配置的成功率[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值