标签: gitlab-8

如何在.gitlab-ci.yml中指定通配符工件子目录?

我正在使用GitLab CI构建一个C#解决方案,并尝试将一些构建工件从一个构建阶段传递到另一个构建阶段.

问题是,工件不是位于单个目录中,而是位于不同的子目录中,但是它们都具有相同的名称bin/obj/.

.gitlab-ci.yml看起来如下:

...
stages:
  - build
  - test

build:
  stage: build
  script:
    CALL %MSBuild% ...
  artifacts:
    paths:
      - /**/bin/
      - /**/obj/
    expire_in: 6 hrs

test:
  stage: test
  dependencies:
    - build
  ...
Run Code Online (Sandbox Code Playgroud)

我尝试使用不同的方式捕获工件,例如

**/bin/
**/obj/
Run Code Online (Sandbox Code Playgroud)

(语法无效),或

.*/bin/
.*/obj/
Run Code Online (Sandbox Code Playgroud)

但那个没有找到任何文物,就像/**/bin/并且/**/obj/,给我以下错误:

Uploading artifacts...
WARNING: /**/bin/: no matching files
WARNING: /**/obj/: no matching files
Run Code Online (Sandbox Code Playgroud)

如何指定要扫描工件的子目录模式?或者这甚至可能吗?

简单地使用

artifacts:
  untracked: true
Run Code Online (Sandbox Code Playgroud)

不是一个选项,因为一个巨大的未跟踪packages/子目录,由于存档太大导致工件上传失败:

Uploading artifacts...
untracked: found 4513 files                        
ERROR: Uploading artifacts to …
Run Code Online (Sandbox Code Playgroud)

yaml gitlab-ci gitlab-8

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

如何为gitlab ci runner启用maven工件缓存?

我们使用gitlab ci和共享运行器来进行持续集成.对于每个构建,运动员下载大量的maven工件.

有没有办法配置gitlab ci来缓存这些工件,这样我们可以通过阻止一遍又一遍地下载相同的工件来加快构建过程?

maven gitlab-ci gitlab-ci-runner gitlab-8

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

将gitlab与sonarqube集成

我的服务器上安装了GitLab CE(至少v8.5).我想将它与sonarqube集成,以便合并请求在评论部分显示任何问题.有没有人成功整合这两个系统?

目前,我发现只有sonarqube插件如下,但我无法成功将其与GitLab集成.

https://gitlab.talanlabs.com/gabriel-allaigre/sonar-gitlab-plugin

我使用了一个docker容器for sonarqube(v5.5)并将插件复制到extensions目录中.在sonarqube的插件设置页面中配置了gitlab用户令牌和gitlab uri.

我正在使用GitLab CI进行持续集成,我为sonarqube做了以下构建工作(使用gradle)

sh gradlew sonarqube -Psonar.analysis.mode=preview -Psonar.issuesReport.console.enable=true \
  -Psonar.gitlab.commit_sha=$CI_BUILD_REF -Psonar.gitlab.ref_name=$CI_BUILD_REF_NAME \
  -Psonar.gitlab.project_id=$CI_PROJECT_ID
Run Code Online (Sandbox Code Playgroud)

但是,我不确定在此之后该怎么做.几个问题:

  1. 当合并请求不存在时会发生什么?在我的git工作流程中,用户将在完成分支工作后提交合并请求.那么,这个插件将如何知道要更新哪个合并请求?

  2. 现在我将sonarqube valiation任务设置为仅在master分支上运行.我认为这也需要改为用户分支,对吧?

我确实尝试过提交合并请求,但我没有看到任何评论被添加.我想我缺少一些配置或过程.真的很感激,如果你能帮我指出正确的方向.

integration plugins gitlab sonarqube gitlab-8

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

Gitlab-CI runner:忽略自签名证书

gitlab-ci-multi-runner register
Run Code Online (Sandbox Code Playgroud)

给我

couldn't execute POST against https://xxxx/ci/api/v1/runners/register.json:
Post https://xxxx/ci/api/v1/runners/register.json: 
x509: cannot validate certificate for xxxx because it doesn't contain any IP SANs
Run Code Online (Sandbox Code Playgroud)

有没有办法禁用认证验证?

我正在使用Gitlab 8.13.1和gitlab-ci-multi-runner 1.11.2.

go gitlab gitlab-ci gitlab-ci-runner gitlab-8

16
推荐指数
6
解决办法
2万
查看次数

Gitlab 8与nginx代理无法下载zip,克隆公共repo作为guest,也无法构建CI

我认为所有3个问题都与同一个问题有关,所以我要将所有问题都放在这里.

Gitlab本身正在工作,我甚至设法将它从8.2.2更新到8.2.3.我可以创建项目,推送我的代码,拉动它,当我有正确的ssh键时重新放入它,等等.

但:

  1. 我无法将代码下载为zip文件,而是获得了JSON:

{"RepoPath":"/ var/opt/gitlab/git-data/repositories/me/myrepo.git","ArchivePrefix":"...

  1. 人们无法克隆我的公共仓库(空仓库错误).

  2. CI无法构建我的测试:

警告:您已克隆空存储库.检查12345为开发...致命:引用不是树:123456789mycommithash987654321

错误:构建失败:退出状态1

注意:我翻译了法语版的错误消息.

我想问题出现在我的Nginx配置中,但是有很多文档我不确定哪一个是好的:有主力的那些,当我必须更改gitlab.rb的gitlab_git_http_server等时.

我的配置如下:

  • Gitlab 8.2.3
  • Ubuntu Trusty(14.04)
  • Nginx 1.8

我的gitlab使用SLL托管在子域上,所以我添加了一个Nginx代理

/etc/gitlab/gitlab.rb:

external_url 'https://gitlab.mydomain.com'
nginx['listen_addresses'] = ['127.0.0.1', "[::1]"]
nginx['listen_port'] = 8080 
nginx['listen_https'] = false 
Run Code Online (Sandbox Code Playgroud)

/ etc/nginx/site_enabled/gitlab:

server {
  listen *:80 default_server;
  listen [::]:80 ipv6only=on default_server;
  server_name gitlab.mydomain.com;
  return 301 https://$server_name$request_uri;

  access_log  /var/log/nginx/gitlab_access.log;
  error_log   /var/log/nginx/gitlab_error.log;
}

server{
  # listen 443 ssl;
  listen 0.0.0.0:443 ssl default_server;
  listen [::]:443 ipv6only=on ssl default_server; 
  server_name gitlab.mydomain.com;
  server_tokens off;

  location /{
    proxy_pass http://localhost:8080;
    proxy_redirect off; …
Run Code Online (Sandbox Code Playgroud)

nginx gitlab gitlab-ci gitlab-8

14
推荐指数
1
解决办法
1605
查看次数

Gitlab CI没有缓存

我有以下gitlab ci yaml文件:

image: steveedson/ci

stages:
  - build

cache:
  untracked: true
  key: "$CI_PROJECT_ID"
  paths:
    - node_modules/
    - _site/vendor/
    - .bundled/
    - .yarn

build:
  stage: build
  script:
    - ls -l
    - yarn config set cache-folder .yarn
    - yarn install
    - ...
Run Code Online (Sandbox Code Playgroud)

当我的成功完成后,他们会显示:

Creating cache 1970478...
Created cache
Run Code Online (Sandbox Code Playgroud)

当下一个提交触发构建时,我得到:

Checking cache for 1970478...
Successfully extracted cache
Run Code Online (Sandbox Code Playgroud)

但是ls -l在我的第一步中没有显示缓存的目录.我试过缓存缓存密钥,但这没有用.

这是在gitlab.com上运行,而不是私有服务器.

gitlab gitlab-ci gitlab-8

14
推荐指数
1
解决办法
5400
查看次数

gitlab中项目和子组之间的区别

我想了解 gitlab 中项目和子组之间的区别是什么?

请帮助我理解上述内容。

问候,

桑托什

gitlab gitlab-ci-runner gitlab-8

10
推荐指数
1
解决办法
6208
查看次数

GitLab:如何禁用自动启动?

我还没有找到一种方法来禁用自动启动,当我不使用时,它最终使用了太多RAM.

init文件不在/ etc/init或init.d中.

我试着update-rc.d gitlab remove没有结果.

我在Debian 8中使用GitLab 8.5.4.

debian gitlab gitlab-ci gitlab-omnibus gitlab-8

9
推荐指数
1
解决办法
7789
查看次数

在Gitlab markdown中创建一个比较标签的链接

我们在gitlab项目的根目录中保留了changelog.md,并希望在每个版本标记中包含一个链接,以将其与之前的标记进行比较.

链接需要是例如 https://gitlab.company.com/group/project/compare/v15.4.0...v15.3.0

在降价的所有相关链接,我试过相对结束上升到目前的分支(包括硕士),例如 [v15.4.0](compare/v15.3.0...v15.4.0),[v15.4.0](../compare/v15.3.0...v15.4.0)并且[v15.4.0](../../compare/v15.3.0...v15.4.0) 都最终与链接 https://gitlab.company.com/group/project/branch/compare/v15.3.0...v15.4.0

有没有办法创建相对于项目根目录而不是当前分支的链接?

markdown gitlab gitlab-8

7
推荐指数
1
解决办法
481
查看次数

我如何查看跨越多个项目的 gitlab 问题板

背景

很长一段时间以来,我一直是 github/zenhub 的忠实用户。我们最近出于多种原因将我们的存储库移至 gitlab,包括免费管道、安全性、更灵活的组等。

问题

Zenhub是一个Greasemonkey的了加github上的应用程序,它的一个特点是,它类似于gitlab的原生scrumboard问题板。zenhub scrumboard令人惊奇的事情之一是它允许您将许多存储库放在同一个板上(我记得 jira 有同样的东西)。

有没有办法在 gitlab 上做到这一点?

scrumboard gitlab gitlab-7 gitlab-8

7
推荐指数
1
解决办法
1869
查看次数