标签: gitlab-ci-runner

gitlab CI docker 在 2 分钟后停止

gitlab CI docker 在 2 分钟后停止

不同存储库中的轻微代码更改和相同的错误。Ci/CD 曾经用于处理这些存储库?

...
Step 4/11 : RUN yarn install
  ---> Using cache
  ---> c75197e0dbaa
 Step 5/11 : COPY babel.config.js babel.config.js
  ---> Using cache
  ---> 482b1ff64322
 Step 6/11 : COPY src src
  ---> d530de056b88
 Step 7/11 : RUN mkdir locales
  ---> Running in f7885ea9a3c3
 ...
Run Code Online (Sandbox Code Playgroud)

链接到 GL 问题 https://gitlab.com/gitlab-com/support-forum/issues/5202

gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
401
查看次数

Gitlab CI 失败并出现错误:作业失败:退出代码 1

我是 gitlab ci 的新手,我有一个预先存在的 gitlab 配置的项目,该配置运行良好,但在推送了一些代码更改后,它现在完全停止工作,我不知道为什么。这里是.gitlab-ci.yml

stages:
  - build
  - deploy

variables:
  DOCKER_HOST: tcp://localhost:2375

assets:
  stage: build
  image: node:10-alpine
  script:
    - npm ci
    - NODE_ENV=production npm run build
  artifacts:
    expire_in: 1 day
    paths:
      - public/assets
  tags:
    - docker

package:
  stage: deploy
  image: php:7.3-cli-alpine
  dependencies:
    - assets
  before_script:
    - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    - php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    - php composer-setup.php --install-dir=/usr/local/bin --filename=composer …
Run Code Online (Sandbox Code Playgroud)

gitlab docker gitlab-ci-runner

5
推荐指数
1
解决办法
2万
查看次数

gitlab 中的基本 ci 实现错误致命:找不到远程引用

我设置了新的 gitlab docker ,然后设置了一个基于 microsoft/dotnet:latest 的带有 docer 执行器的 runner docker,然后我向 gitlab 添加了一个简单的项目,只是一个 dotnet core hello world 然后我创建了一个 ci 文件,如下所示:

image:  microsoft/dotnet:latest

stages:
  - build


variables:
  project: "ConsoleApp"

before_script:
  - "dotnet restore"

build:
  stage: build
  variables:
    build_path: "$ConsoleApp"
  script:
    - "cd $build_path"
    - "dotnet build"
Run Code Online (Sandbox Code Playgroud)

然后在管道中我得到这个输出:

Preparing environment
 Running on runner-vtysysr-project-2-concurrent-0 via e189cc9d1c60...
Getting source from Git repository
00:07
 Fetching changes with git depth set to 50...
 Reinitialized existing Git repository in /builds/root/gitlabcitest/.git/
 fatal: couldn't find remote ref refs/pipelines/18
Uploading artifacts …
Run Code Online (Sandbox Code Playgroud)

continuous-integration docker gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
724
查看次数

如何从centos完全删除/卸载gitlab-runner

无论我做什么,我的 gitlab-runner 服务都没有运行。我以前和以前更新时都遇到过同样的问题,它曾经开始运行,但现在根本没有启动。

我已经卸载然后重新安装它仍然是一样的。我想我没有完全卸载/删除。如何完全卸载 gitlab runner 或如何启动服务?

我也没有得到 gitlab-runner 的主目录。当我说 gitlab-runner list 时,我会得到以下配置详细信息。

ConfigFile=/home/rohith/.gitlab-runner/config.toml
Run Code Online (Sandbox Code Playgroud)

但我尝试 cd 到 gitlab-runner 用户目录我根本找不到目录。

runner gitlab gitlab-ci gitlab-ci-runner gitlab-api

5
推荐指数
2
解决办法
8601
查看次数

在 GitLab CI/CD 中缓存 Node.js 依赖项的便捷方法

我正在使用npm在我的项目中安装 Node.js 依赖项。我想在node_modules全局缓存 Node.js 包 ( ) 以在部署到 Heroku 时加速管道中的作业。GitLab官方文档中的一个示例:

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
  - .npm/

before_script:
  - npm ci --cache .npm --prefer-offline
Run Code Online (Sandbox Code Playgroud)

这是GitLab 中的另一个示例

cache:
  paths:
    - node_modules/
Run Code Online (Sandbox Code Playgroud)

发现了一些文章(部署Node.js的应用程序与GitLab CI / CD持续集成用的Node.js,Heroku的和GitLab CI / CD第2部分),该使用上述的第二构型。我确实试了一下,我能够使用这些设置成功地将我的应用程序部署到 Heroku。但我不确定缓存机制是否正常工作。

这些配置有什么区别?哪一种是最方便的缓存 Node.js 包的方法?

我当前的gitlab-ci.yml文件设置:

image: node:latest

cache:
  paths:
    - node_modules/

stages:
  - build
  - deploy

build:
  stage: build
  script:
    - npm i
    - npm i -g gulp-cli
    - gulp …
Run Code Online (Sandbox Code Playgroud)

node.js npm gitlab gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
2834
查看次数

Gitlab CI - $CI_COMMIT_TAG 为空

构建时,我需要在 gitlab-ci.yml 中上次推送的 git commit 的标签值。在构建过程中,我构建了一个 docker 镜像,在构建之后,我想推送这些镜像,其标签与我的 git commit 相同。到目前为止,我的理解是环境变量$CI_COMMIT_TAG应该完成这项工作。然而,当我$CI_COMMIT_TAG在 gitlab-ci.yml 中回显时,它只是空的。

这是我的 gitlab-ci.yml:

    stages:
      - build
    
    build-dev:
      stage: build
      environment: development
      only:
        - master
      tags:
        - ms-doorman
      script:
        - echo $CI_COMMIT_TAG
Run Code Online (Sandbox Code Playgroud)

这里是启动作业的 git 命令。

$ git commit -am "test git tags"
$ git tag test-tag
$ git push --tags origin master
Run Code Online (Sandbox Code Playgroud)

gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
7555
查看次数

通过 GitLab CI/CD 将 Docker 容器部署到 EC2 时出错:加载公钥“/root/.ssh/id_rsa”:格式无效

我目前正在尝试通过 dockerising 来部署我的 NodeJS API 并将其放到 EC2 上,但是我已经因为这个错误走到了死胡同: load pubkey "/root/.ssh/id_rsa": invalid format

我尝试过的事情

  • 将我的私有 RSA 密钥从 PSK1 转换为 PSK8
  • 将受保护的变量设置为 false(以及上述的各种组合)
  • apt-get install openssl-client在 docker 中使用和转换私有 RSA 密钥(但显然我丢失了,apt-get所以我也尝试过apk这也不起作用......????)

可疑的:

  • 错误提到了pubkey,但所有教程都指出使用我的pem密钥,该密钥是从我的 EC2 设置中生成的。所以也许我错过了一个pubkey?但我找不到任何材料另有说明。

gitlab-ci.yml

    image: docker:19.03.12
    variables:
      DOCKER_TLS_CERTDIR: "/certs"
      DOCKER_DRIVER: overlay2
    services:
      - docker:19.03.0-dind
    before_script:
      - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
    stages:
      - build
      - deploy
    build:
      stage: build
      script:
        # - docker build --tag $CI_REGISTRY/$CI_PROJECT_PATH:latest . 
        # - …
Run Code Online (Sandbox Code Playgroud)

ssh amazon-ec2 docker gitlab-ci gitlab-ci-runner

5
推荐指数
0
解决办法
255
查看次数

当合并请求被合并时,Gitlab 运行管道作业

我有一个 gitlab 管道,其中有两个阶段,一个是构建,另一个是部署。构建阶段在进行提交时运行。我想要一种在合并请求合并到 master 时运行部署作业的方法。我尝试了几件事,但没有运气。任何人都可以帮忙吗?

stages:
  - build
  - deploy

dotnet:
script: "echo This builds!"
stage: build


production:
script: "echo This deploys!"
stage: deploy

only:
  refs:
    - master
Run Code Online (Sandbox Code Playgroud)

gitlab gitlab-ci-runner

5
推荐指数
2
解决办法
3446
查看次数

GitLab 仅手动而非自动运行管道

我的 GitLab 管道在每次推送时自动执行,我想手动运行管道而不是每次推送。

管道文档:https : //docs.gitlab.com/ee/ci/yaml/#workflowrules

我在.gitlab-ci.yml 中试过这个

workflow:
  rules:
    - when: manual    # Error: workflow:rules:rule when unknown value: manual
Run Code Online (Sandbox Code Playgroud)

gitlab gitlab-ci gitlab-ci-runner

5
推荐指数
3
解决办法
2098
查看次数

如何在使用 Gitlab CI runner 拉 docker:dind 之前在 Dockerhub 上进行身份验证

当我在自己的跑步者“myrunner”上运行这个 Gitlab CI 作业时

test:
  tags: 
    - myrunner
  image: docker:latest
  stage: build
  services:
    - docker:dind
  script:
    - echo "It works!"
  rules:
    - when: always
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

Preparing the "docker" executor
Using Docker executor with image docker:latest ...
Starting service docker:dind ...
Pulling docker image docker:dind ...
ERROR: Preparation failed: Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit (docker.go:142:1s)
Will be retried in 3s ...
Run Code Online (Sandbox Code Playgroud)

我怎样才能拉动图像之前认证DIND:泊坞窗,以避免对拉速率限制 …

gitlab docker gitlab-ci dockerhub gitlab-ci-runner

5
推荐指数
1
解决办法
1690
查看次数