我可以使用哪些函数将所有子模块(本地 repo)同步/初始化/更新到远程分支中的版本?
“同步”(我们称之为,我不是说 git sync!)也必须在以下情况下工作:
本质上,我希望本地 repo 始终与远程分支的版本完全相同。每当我更改子模块中的某些内容时,都无需过多摆弄。所以没有手动ssh'ing到服务器来初始化一个新的子模块,只为了部署脚本工作......
这可以在不克隆(又名传输)整个存储库的情况下实现吗?我选择 git 是为了有一种安全、快速的方式来部署我的源代码。但我能想到的唯一选择是git clone --recursive在它们各自的标签下做一个完整的和检查子模块。在这种情况下,rsync 可能会在同步文件方面做得更好。
我正在使用Gradle jacoco插件并JUnit在 gradle 多项目中进行测试。
我已经安装了 jacoco,以便向声纳报告我的代码覆盖率,我做到了。
Gitlab-CI 还为代码覆盖率提供了一个徽章,我只需要在终端中输出代码覆盖率并使用正则表达式来查找它。
有没有办法在终端输出所有项目的代码覆盖率?
我无法从 gitlab 私有注册表中提取图像
如何使用容器注册表
首先使用您的 GitLab 用户名和密码登录 GitLab 的 Container Registry。如果您启用了 2FA,则需要使用个人访问令牌:
docker 登录 registry.gitlab.com
版本 openshift
oc version
oc v3.6.1+008f2d5
kubernetes v1.6.1+5115d708d7
features: Basic-Auth GSSAPI Kerberos SPNEGO
openshift v3.6.1+008f2d5
kubernetes v1.6.1+5115d708d7
Run Code Online (Sandbox Code Playgroud)
重现步骤
oc new-project test2
oc project test2
oc secrets new-dockercfg secret --docker-server=https://registry.gitlab.com --docker-username=user --docker-password="pass" --docker-email=email@gmail.com
secret/secret
oc secrets link builder secret --for=pull
oc secrets link default secret --for=pull
oc secrets link deployer secret --for=pull
oc new-app --docker-image='registry.gitlab.com/user/imagename:latest' --loglevel=5
I1227 12:37:21.263940 77342 newapp.go:486] Docker client did not respond to …Run Code Online (Sandbox Code Playgroud) 基于评论的更新问题:
项目 P,由子模块/迷你项目 A、B、C、D、E 组成。
请注意,A、B、C、D、E 是包含自己项目的目录,例如 A:Web,B:分析 C:Devops D:does_somethings E:Extra_features 等等。换句话说,每个 AE 都是它自己的存储库。
A 可以有由 user1 创建或检出的 b1,b2,b3 分支。
B 可以有 x1,x2,x3 分支,同样由 user1 执行。等等。
所以每个子文件夹 A、B、C、D、E 可以有多个未合并/合并的分支。
我的问题是,是否有一个命令会自动告诉我哪个分支在 P.
现在我正在cd进入每个子文件夹,然后输入 'git branch'。
所以如果我有 10 个子文件夹,我必须 cd 进入它们 10 次,然后再执行 git branch 10 次。
我查了一下:https : //stackoverflow.com/a/2421063/4590025
git log --graph --pretty=oneline --abbrev-commit
但这不是我要找的。
我正在寻找类似鸟瞰图的东西。
我尝试使用我的 React 应用程序设置 gitlab 页面,但是,我无法这样做,因为它没有生成任何可供我访问的 url。我已经设置了 gitlab-ci.yml。
> image: node:latest
pages:
script:
- npm install
- npm run build
- mkdir public2
- mv public/* public2
artifacts:
paths:
- public2
only:
- master
stage: deploy
Run Code Online (Sandbox Code Playgroud) 我正在尝试在树莓派上的 kubernetes 集群上运行 gitlab-runner。
gitlab 管道生成以下输出:
Running with gitlab-runner 10.4.0 (857480b6) on hello-world-gitlab-runner-6548-tq4mr (123)
Using Kubernetes namespace: gitlab
Using Kubernetes executor with image arm32v7/node ...
Waiting for pod gitlab/runner-123-project-456-concurrent-789 to be running, status is Pending
Waiting for pod gitlab/runner-123-project-456-concurrent-789 to be running, status is Pending
Waiting for pod gitlab/runner-123-project-456-concurrent-789 to be running, status is Pending
ERROR: Job failed (system failure): unable to upgrade connection: container not found ("helper")
Run Code Online (Sandbox Code Playgroud)
gitlab-runner pod 记录以下输出:
+ cp /scripts/config.toml /etc/gitlab-runner/
+ /entrypoint register --non-interactive --executor …Run Code Online (Sandbox Code Playgroud) 我的分支上有一些错误 commit/push,然后我想恢复到旧的正确提交并将其推送到当前分支上。
我有以下问题:
git log
new: xxxxxxx
...
old: ac758a3
git checkout ac758a3
git commit -m 'revert to old branch (ac758a3) to push it on current branch'
Run Code Online (Sandbox Code Playgroud)
出去:
HEAD detached at ac758a3
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
[编辑]
我想恢复到 A(旧提交)并将其推送到当前分支(同一分支)。
什么是快速解决方案?
提前致谢。
我曾经Docker-dind构建和测试我的 python 代码。我混淆了如何在gitlab-ci以下两个选项之间运行覆盖。
1) Gitlab 本身有覆盖范围[这里]
2)我遵循python的覆盖教程并使用以下内容创建自己的覆盖范围:
coverage:
stage: test
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker run $CONTAINER_TEST_IMAGE python -m coverage run tests/tests.py
- docker run $CONTAINER_TEST_IMAGE python -m coverage report -m
Run Code Online (Sandbox Code Playgroud)
当 gitlab 抛出异常时No data to report.:
我猜coverage report命令无法访问/查找.coverage容器中的文件。
所以我的问题是coverage在这种情况下运行的优雅方式是什么?
continuous-integration code-coverage gitlab docker gitlab-ci
我正在尝试在 GitLab-CI 中的我的私有注册表上标记自动构建的 Docker 映像,但“发布”作业失败并显示:
Error response from daemon: No such image: dev.skibapro.de:5050/dransfeld/dockerci-test:v0.4
这是我的.gitlab-ci.yml,构建和测试作业运行没有错误,并且在管道运行后我的注册表中出现了 docerci-test:v0.4。
image: docker:stable
variables:
DOCKER_DRIVER: overlay2
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
services:
- docker:dind
stages:
- build
- test
- release
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
build:
only:
- tags
stage: build
script:
- docker build -t $IMAGE_TAG -f docker/Dockerfile .
- docker push $IMAGE_TAG
test:
only:
- tags
stage: test
script:
- docker run $IMAGE_TAG /usr/local/bin/test.sh
release:
only:
- tags
stage: release …Run Code Online (Sandbox Code Playgroud) 我们有一个自托管的 Gitlab CE 实例,想知道是否可以阻止用户克隆给定的分支。
研究了这一点后,我强烈怀疑这是不可能的。但我的问题是:
任何帮助深表感谢。
gitlab ×10
git ×4
gitlab-ci ×3
docker ×2
arm ×1
deployment ×1
gitlab-pages ×1
gradle ×1
jacoco ×1
java ×1
javascript ×1
junit ×1
kubernetes ×1
openshift ×1
raspberry-pi ×1
webhooks ×1