如何解决 "装饰器中不支持函数调用,但'StoreModule'被调用。"
我有一个角度(7)项目. 在我的软件包中. { "name": "xxx", "version": "0.1.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "build-prod": "ng build --prod", "test": "ng test", "test-ci": "ng test --no-watch --no-progress --browsers=ChromeHeadlessNoSandbox", "e2e-ci": "ng e2e --protractor-config=e2e/protractor.conf.js", "deploy": "firebase deploy --token $FIREBASE_TOKEN --non-interactive", "lint": "n
0 2024-02-22
编程技术问答社区
生产的角度构建会消耗太多的记忆吗?
我使用docker打包了我的node.js/angular应用程序,然后设置了一个gitlab跑步者,以进行一键部署,以将更改部署到实时服务器. docker-compose.yml: version: "3" services: client: build: context: ... dockerfile: ... ... server: build: context: ... dockerfile: ... ... 问题是,当构建到达Dockerfile> 中时 ng build --prod 它总是失败的,我在服务器上出现了内存错误(RAM的1GB). "build-prod": "ng build --prod --aot=true --buildOptimizer=t
0 2024-02-20
编程技术问答社区
[karma-server]: TypeError: 无法读取未定义的属性'范围'-Angular单元测试在CI环境中的应用
我们的CI/CD管道停止从事" NG测试"作业,而失败了以下错误消息: [karma-server]: TypeError: Cannot read property 'range' of undefined at handleRangeHeaders (/builds/......../node_modules/webpack-dev-middleware/lib/util.js:131:21) at processRequest (/builds/......../node_modules/webpack-dev-middleware/lib/middleware.js:98:19) at ready (/builds/......./node_modules/webpack-dev-middleware/lib/util.js:53:12) at handleRequest (/builds/........../node_modules/we
0 2024-02-20
编程技术问答社区
Gitlab CI :-如何在Gitlab中通过电子邮件分享工件(apks或构建)?
我在Gitlab中成功操作artifacts (apks).在Gitlab成功操作后,有什么方法可以在电子邮件地址上发送artifacts (apks). 现在我需要手动下载artifacts 成功构建创建后,是否有任何方法可以通过电子邮件发送artifacts. 解决方案 我认为没有办法通过Gitlab-Ci的电子邮件发送工件.您可以在成功,失败或管道上发送邮件. 在此处引用同样的问题:通过电子邮件发送gitlab-ci文物 但是,使用 mailgun api 有一个解决方法.希望这可以帮助您或给您任何类似的想法:
0 2024-02-10
编程技术问答社区
Gitlab CI :- 如何在Gitlab中创建不依赖任何系统的共享运行器?
我有两种类型的研究> Gitlab Runner是Custom Runner,另一种是Shared Runner. 我在Gitlab中使用了Custom Runner docker来创建 Android 的apk.它可以正常工作并创建所需的构建.但是,这样我就会得到一个问题是,它取决于我的系统意味着当我的系统打开时,我的Custom Runner正常工作,但是当我的系统脱离时,Gitlab Gitlab因为这取决于我的系统跑步者. 我已经阅读了Shared Runner,该Shared Runner不取决于任何东西并执行操作.我已经阅读了该文档,但没有得到适当的实施方法. 请检查我的 .gitlab-ci.yml 下面的文件 image: jangrewe/gitlab-ci-android stages: - build before_script: - export GRADLE_USER_HOME=$(pwd)/.gradle - chmod
2 2024-02-03
编程技术问答社区
Gitlab CI gradle依赖性缓存
我在gitlab ci上构建了Android,并且每次都会下载依赖项很烦人.我尝试了缓存: $HOME/.gradle/ $HOME/.gradle/caches/ $GRADLE_HOME/caches/ $HOME/.m2/ .gradle/ build/ app/build/ 我的.gitlab-ci.yml的第26594次迭代是构建日志: gitlab-ci-multi-runner 0.7.2(998cf5d) 将docker executor与image Android ...一起使用... 拉码头图像gitlab/gitlab-runner:构建... 拉码头图像Android:最新... 警告:无法拉动最新版本的图像Android:最新:错误:图像库/Android:最新未找到 警告:将使用本地发现的图像. Running on runner-76acd9d3-project-74192-concurrent-0 via ff9200d4be41..
2 2024-01-30
编程技术问答社区
Gitlab CI :- 在gitlab上推送后获得待定状态
我正在使用Gitlab-ci在推送上创建构建,我还在根目录内创建 .gitlab-ci.yml .每次将代码推到gitlab上时,我会收到以下消息,如以下 这项工作被卡住了,因为您没有任何活跃的跑步者可以运行此工作. 我已经启用了 Shared Runners 在设置以上问题之上,例如没有主动成员. 请检查我的gitlab-ci.yml文件数据 image: jangrewe/gitlab-ci-android stages: - build before_script: - export GRADLE_USER_HOME=$(pwd)/.gradle - chmod +x ./gradlew cache: key: ${CI_PROJECT_ID} paths: - .gradle/ build: stage: build script: - ./gradlew assembleDebug artifact
6 2024-01-30
编程技术问答社区
GItlab CI :- 如何使用Gitlab-CI在Android中创建多个apk(如开发、暂存和生产)?
我能够创建单个构建(apk),例如 debug.apk 使用gitlab-ci在gitlab中使用以下方法. 在我的 .gitlab-ci.yml 中,我已经完成了此条目.请检查一次, image: jangrewe/gitlab-ci-android stages: - build before_script: - export GRADLE_USER_HOME=$(pwd)/.gradle - chmod +x ./gradlew cache: key: ${CI_PROJECT_ID} paths: - .gradle/ build: stage: build tags: - dev-ci script: - ./gradlew assembleDebug artifacts: paths: - app/build/outputs/ 我创建了 docker 图像,并在gitlab
0 2024-01-30
编程技术问答社区
允许通过AWS中的VPC访问AWS S3存储桶,而无需认证
是否有任何方法可以通过AWS中的VPC在没有身份验证的情况下通过VPC访问AWS S3存储桶中的对象?我不想为此使用AWS IAM角色或用户.除了VPC以外 目的:提供AWS S3存储桶访问gitlab跑步者在AWS eks eks eks kubernetes cluster in private节点上的访问. 注意:公共访问被阻止并将保持阻塞.所有对象都是私人的,并且将保持私密. 解决方案 是的,您可以使用AWS VPC端点(VPCE)在AWS中通过AWS中的VPC允许访问AWS S3存储桶中的对象,用于S3和AWS S3桶上的存储桶策略. . 指向考虑: AWS VPC Endpoint(VPCE)应为S3服务创建Gateway在同一区域中键入AWS S3存储桶,其中所需的AWS VPC和路由表与Full Access策略一起选择./li> AWS S3存储策略只允许AWS VPC端点. 样本AWS S3存储措施策略将如下: { "
8 2024-01-26
编程技术问答社区
GitLab Ci/CD到亚马逊LightSail
我将Docker Image部署到AWS LightSail有问题.我在gitlab上使用私人容器,并且在构建后我的图像在那儿推了.我为CI/CD创建用于部署图像到Lightsail的第二阶段. image: docker:19.03.12 services: - docker:19.03.12-dind build: stage: build before_script: - docker login registry.gitlab.com --username $UserName -p $CiCdToken script: - docker build -t registry.gitlab.com/nickname/testprojectname . - docker push registry.gitlab.com/nickname/testprojectname deploy: stage: deploy ima
0 2024-01-26
编程技术问答社区
从高山图像中抓取SIGTERM
我试图从docker实例捕获sigterm信号(基本上是在调用docker stop时),但找不到方法,因为我对每次尝试的每次尝试都有不同的结果. 以下是我有 的设置 dockerfile FROM gitlab/gitlab-runner:alpine COPY ./start.sh /start.sh ENTRYPOINT ["/start.sh"] start.sh #!/bin/bash deregister_runner() { echo "even if nothing happened, something happened" exit } trap deregister_runner SIGTERM while true; do sleep 10 done 现在我构建了Docker Image $ docker build -t dockertrapcatch . Sending build contex
2 2024-01-24
编程技术问答社区
每次启动新的构建,RSA指纹都会改变
我有一条CI管道来构建我的Android应用程序,并使用Gi​​tLab管道运行仪器测试.我的GitLab Runner是一台Ubuntu 16.04机器,在Docker容器中运行每个构建.我有一个通过USB连接到GitLab Runner的物理Android设备. 最近,每次触发新构建时,我都会提示我允许Android目标上的USB设备的RSA指纹.问题在于指纹随着每个构建而变化. 我怀疑这是因为每次构建启动时都会创建一个新容器. 我如何自动接受新的指纹或防止指纹更改? 解决方案 通过映射文件夹或仅重新创建每个容器实例中的文件,使运行之间的内容持续$HOME/.android/adbkey和$HOME/.android/adbkey.pub.
2 2024-01-10
编程技术问答社区
当之前的一项手工作业成功时,开始下一项作业。
我有以下工作结构: JOB_A: stage: versioning only: - main JOB_B_MANUAL: stage: versioning needs: - JOB_A only: - main when: manual allow_failure: true JOB_C_MANUAL: stage: versioning needs: - JOB_A only: - main when: manual allow_failure: true JOB_D_MANUAL: stage: versioning needs: - JOB_A only: - main when: manual allow_failure: true JOB_E_MANUAL: stage: versioning needs: - JOB_B
4 2023-12-25
编程技术问答社区
gitlab-ci:如何使用并行矩阵使用需求(或另一种处理需求的多步CI的方法)
我有一个我无法正确弄清楚的gitlab-ci用例.背景是我有多种环境需要建造和部署自己的工件.假设一个简化的情况看起来像这样: stages: - build - deploy AppOne:Build: extends: .build environment: name: AppOne AppOne:Deploy: extends: .deploy needs: ['AppOne:Build'] environment: name: AppOne AppTwo:Build: extends: .build environment: name: AppTwo AppTwo:Deploy: extends: .deploy needs: ['AppTwo:Build'] environment: name: AppTwo .build: stage: build script:
6 2023-12-25
编程技术问答社区
如何在GitLab CI YAML文件中包含一个PowerShell脚本文件
目前,我的gitlab ci yaml文件.下面的示例是我如何分组功能,以便可以在CI过程中使用它们. .test-functions: &test-functions | function write_one() { echo "Function 1" } function write_two() { echo "Function 2"} function write_three() { echo "Function 3"} .plugin-nuget: tags: - test-es - kubernetes image: mygitlab-url.com:4567/containers/dotnet-sdk-2.2:latest script: - *test-functions - write_one - write_two - write_three 下面
6 2023-12-25
编程技术问答社区
GitLab CI拒绝使用具有写入权限的部署密钥进行推送的访问
我添加了一个部署密钥,并使用对我的gitlab存储库进行写入访问.我的.gitlab-ci.yml文件包含: - git clone git@gitlab.domain:user/repo.git - git checkout master - git add myfile.pdf - git commit -m "Generated PDF file" - git push origin master 在克隆存储库时,部署密钥可行. 即使部署密钥具有写入访问,也无法推动. remote: You are not allowed to upload code. fatal: unable to access 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@domain/user/repo.git/': The requested URL returned error: 403 解决方案 我刚刚遇到了同样的问题,没有答案就看
2 2023-12-25
编程技术问答社区
删除分支时在GitLab上运行管道
删除分支后,可以通过GitLab CI/CD运行管道. 实际上我想在删除该分支后编辑文件. 例如,我有两个存储库R1和R2. 在R1中,我有2个分支 B1 B2 我想在删除B1(R1分支)时从R2中编辑文件. 我知道如何访问和编辑文件,但我不知道如何为删除分支设置触发器. 解决方案 您可以使用环境.查看 gitlab将在删除关联的分支时自动触发停止操作. stop_review作业必须与deploy_review作业处于同一阶段,以便环境自动停止. deploy_review: stage: deploy script: - echo "Deploy a review app" environment: name: review/$CI_COMMIT_REF_NAME url: https://$CI_ENVIRONMENT_SLUG.example.com on_stop: stop_re
4 2023-12-25
编程技术问答社区
Gitlab-CI: 我怎样才能在工作之间共享数据?
我想在两个作业之间共享一个文件,并在更改文件的情况下对其进行修改. Python脚本将cache.json文件与更改进行比较,有时会修改Cahce文件. .gitlab-ci.yaml: image: ubuntu stages: - test cache: key: one-cache paths: - cache.json job1: stage: test script: # - touch cache.json - cat cache.json - python3 modify_json_file.py - cat cache.json 问题在于,下一个作业运行中的cache.json文件不存在.我收到错误消息:cat: cache.json: No such file or directory.一旦触摸命令,我也确实插入了,但是如果没有触摸命令,这并不能改变下一个运行的任何内容. 我做错了什么,或者我不理
2 2023-12-25
编程技术问答社区
用于GitLab CI的多行YAML字符串(.gitlab-ci.yml)。
我正在尝试编写一个使用多行字符串的gitlab-ci.yml文件.但是,似乎没有被解析.我已经尝试了- |和- >相同的结果. stages: - mystage Build: stage: mystage script: - | echo -e " echo 'hi'; echo 'bye'; " 尝试运行时,它仅显示echo -e '作为运行的脚本,而不是整个多行字符串.这给我带来了问题. 写这样的东西是什么正确的语法? 解决方案 tl; dr;您需要使用多行YAML标量(用于可读性),该标量被加载为单行字符串,该字符串可以由GitLab-Ci发出,该字符串可以作为命令发出.为此 script: - echo -e "echo 'hi'; echo 'bye';" 请注意,YAML对此类标量施加了一些限制.您肯定需要知道的是,每个以下行的
4 2023-12-25
编程技术问答社区
使用Bash的Windows GitLab CI Runner
我试图将bash用作gitlab ci跑步者的窗口. concurrent = 1 check_interval = 0 [[runners]] name = "DESKTOP-RQTQ13S" url = "https://example.org/ci" token = "fooooooooooooooooooobaaaaaaaar" executor = "shell" shell = "bash" [runners.cache] 不幸的是,我找不到指定CI Runner应该使用的实际Shell程序的选项.默认情况下,它只是尝试运行bash,找不到.我不知道为什么,因为当我打开Windows命令行并输入bash时. Running with gitlab-ci-multi-runner 1.9.4 (8ce22bd) Using Shell executor... ERROR: Build failed (system failure): F
4 2023-12-05
编程技术问答社区