标签: gitlab

如何安装nodejs以在gitlab作业中安装npm包?

.deploy: &deploy
  before_script:
    - apt-get update -y
  script:
    - cd source/
    - npm install multi-file-swagger
    - multi-file-swagger -o yaml temp.yml > swagger.yml
Run Code Online (Sandbox Code Playgroud)

我想安装 multi-file-swagger 包将 temp.yml(已拆分为多个文件)编译为 swagger.yml。所以在使用npm之前我需要安装nodejs。我怎样才能做到这一点?

node.js npm gitlab gitlab-ci

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

使用什么 Gitlab 工具来生成代码覆盖率报告?

有人告诉我,不使用 JaCoCo,而是会有一个内部 Gitlab 工具,我可以在其中创建测试覆盖率报告?

  • 我不想使用 JaCoCo。
  • 我对 Gitlab 中的任何可视化插件都不感兴趣。
  • 我想生成一个 xml/html 文件,其中包含条形图等,可以通过电子邮件发送并在外部打开。

我在 Gitlab 仪表板菜单中找不到任何内容。该项目是一个 Android App Kotlin 项目。

kotlin gitlab test-coverage gitlab-ci

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

Gitlab CI 根据合并请求自动运行管道

我有下面的管道。创建合并请求后,创建了状态为失败的分离合并请求管道(app1 - 无阶段/作业)。在以下管道的范围内,需要在创建合并请求时以及合并更改 main 后运行管道。这里描述的流程Gitlab CI Child pipeline 下面的管道不起作用。


workflow:
    rules:
        - if: '$CI_PIPELINE_SOURCE == "schedule"'
        - if: '$CI_PIPELINE_SOURCE == "web"'
        - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
        - if: '$CI_PIPELINE_SOURCE == "push"'

stages:
    - child-pipelines

app1:
    stage: child-pipelines
    variables:
        COMPONENT NAME: 'app1'
    trigger:
        include:
        - local: .ci/.gitlab-ci.yml
        strategy: depend
    rules:

        - if: $CI_PIPELINE_SOURCE == "merge_request_event"
          changes:
            - test1/**/*
          variables:
            DEPLOY_RELEASE: '11111'

        - if : '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "main"'
          changes:
            - test1/**/*
          variables:
            DEPLOY_RELEASE: '222222' …
Run Code Online (Sandbox Code Playgroud)

pipeline gitlab

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

Gitlab Ci include local 仅最后执行

我为一个应用程序构建了很多不同的 Android 风格,所以我想将构建拆分为不同的 yml 文件。我目前有我的基本文件.gitlab-ci.yml

image: alvrme/alpine-android:android-29-jdk11

variables:
  GIT_SUBMODULE_STRATEGY: recursive

before_script:
    - export GRADLE_USER_HOME=`pwd`/.gradle
    - chmod +x ./gradlew
    
cache:
  key: "$CI_COMMIT_REF_NAME"
  paths:
     - .gradle/

stages:
  - test
  - staging
  - production
  - firebaseUpload
  - slack

include:
  - local: '/.gitlab/bur.yml'
  - local: '/.gitlab/vil.yml'
  - local: '/.gitlab/kom.yml'
Run Code Online (Sandbox Code Playgroud)

我目前正在尝试打造 3 种不同的口味。但我不知道为什么只有最后包含的 yml 文件被执行。前 2 个被忽略。

/.gitlab/bur.yml

unitTests:
  stage: test

  script:
    - ./gradlew testBurDevDebugUnitTest
Run Code Online (Sandbox Code Playgroud)

/.gitlab/vil.yml

unitTests:
  stage: test

  script:
    - ./gradlew testVilDevDebugUnitTest
Run Code Online (Sandbox Code Playgroud)

/.gitlab/kom.yml

unitTests:
  stage: test

  script:
    - ./gradlew testKomDevDebugUnitTest
Run Code Online (Sandbox Code Playgroud)

yaml gitlab gitlab-ci devops

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

如何将 GitLab / Github 页面与 monorepo 一起使用?

有没有办法将 Github / Gitlab 页面与 monorepo 一起使用?我有 1 个 Gitlab 存储库,其中有 3 个项目:

  • 角度应用程序 - 管理。
  • Angular 应用程序 - 用户。
  • 后端。

我将使用付费的 Heroku dyno 来部署后端。我也可以使用(事实上,我正在使用)heroku 来部署两个前端项目的 dist 文件夹。但是因为我们模块化了很多应用程序,而且免费的 Heroku dynos 并不是特别快,所以我想知道 Github / Gitlab 页面是否更快。我使用过一次 Gitlab 页面,但用于 1 个使用 Gitlab CI 的项目。有谁知道是否可以执行每个分支一个页面之类的操作,或者我可以用来部署我的 2 个前端应用程序的操作?

deployment continuous-integration github gitlab angular

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

如何从 CI/CD 将依赖项发布到 gitlab 存储库(403 禁止)?

我正在尝试将一个测试项目公开到其存储库,但收到了403 FORBIDDEN. 可能是什么问题呢?

.gitlab-ci.yml

image: maven:3.8.4-eclipse-temurin-11

deploy:
  stage: deploy
  script: mvn deploy -s ci_settings.xml
Run Code Online (Sandbox Code Playgroud)

ci_settings.xml

<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
  <servers>
    <server>
      <id>gitlab-maven</id>
      <configuration>
        <httpHeaders>
          <property>
            <name>Job-Token</name>
            <value>${CI_JOB_TOKEN}</value>
          </property>
        </httpHeaders>
      </configuration>
    </server>
  </servers>
</settings>
Run Code Online (Sandbox Code Playgroud)

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>my.group</groupId>
    <artifactId>my-commons</artifactId>
    <version>1.0.0</version>

    <repositories>
        <repository>
            <id>gitlab-maven</id>
            <url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url>
        </repository>
    </repositories>
    <distributionManagement>
        <repository>
            <id>gitlab-maven</id>
            <url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url>
        </repository>
        <snapshotRepository>
            <id>gitlab-maven</id>
            <url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url>
        </snapshotRepository>
    </distributionManagement>
</project>
Run Code Online (Sandbox Code Playgroud)

结果。

[信息]上传到gitlab-maven: https://my.company.com/api/v4/projects/295/packages/maven/com/example/my-test/1.0.0/my-commons-1.0.0 .pom

[错误] 无法在项目 my-commons 上执行目标 org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy):无法部署工件:无法传输工件 com.example:my- …

java maven gitlab

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

如何推送到gitlab而不是github

我在 gitlab 中克隆了文件,创建了一个新分支,编辑了文件,最后推送了它。但不知何故,它创建了一个新的存储库,我的 github 中的一个新分支,而我的 gitlab 中没有任何内容。我应该怎么办

git github gitlab

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

Gitlab:从语言百分比中删除笔记本

在 Gitlab 项目的顶部,有一个栏显示项目内使用的每种语言的百分比。

在我的存储库中,我有几十个大型 python 文件和一个带有几行代码的小笔记本,但它表明该项目主要包含笔记本。这不是一个错误,它只是与绘图特别在文件中生成大量原始行这一事实有关.ipynb

我想避免这种行为,例如告诉 Gitlab 不要计算该文件的行数。我找到了一些适用于 Github 的解决方案,但没有找到适用于 Gitlab 的解决方案。

注意:我不想创建一个额外的存储库来托管一个小笔记本,即使它可以解决这个问题。

python gitlab jupyter

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

如何从 Gitlab 中完全删除旧的提交?

我在 Gitlab 上有一个存储库,其中一个分支上有一些提交,如下所示

A - B - C - D - HEAD
Run Code Online (Sandbox Code Playgroud)

我错误地在提交 B 上上传了一些秘密令牌字符串,后来我注意到了,所以我从 A 创建了一个新分支,然后手动复制了提交 D 中的所有文件,所以历史记录现在看起来像这样

 /  - E - HEAD
A  - B  - C - D
Run Code Online (Sandbox Code Playgroud)

现在我所做的是在 Gitlab 上删除分支 BCD,这样那些“令牌提交”就不再可访问,历史记录看起来像

A - E - HEAD
Run Code Online (Sandbox Code Playgroud)

然而,我只是注意到我仍然可以通过项目 - >活动访问麻烦的提交,并看到我的旧推送,其中旧提交仍然可以访问。

怎样才能彻底删除那些呢?

git gitlab

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

何时提交并推送到工作的远程 git 存储库?

我的问题与明显的编码问题无关,而是经过 3 年从事不同项目并使用 Gitlab 和 Github 的经验之后提出的。我仍然不确定何时提交并将迄今为止实现的代码推送到其原始存储库。

需要明确的是,

  • 当我们完成某个任务时,我们是否应该进行新的推送?

  • 或者也许每当我们编写某个代码并且我们确定它不会被更改时?

  • 或者,就像我通常在工作日结束时所做的那样,如果任务尚未完成(只是为了远程保存工作)作为 [WIP] 推送!

  • 或者...

有类似想法的链接或资源吗?

git github gitlab

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