Tag: gitlab

将Gitlab 8.0.3迁移到docker Gitlab 9.4.3和数据retore

我们在生产环境中使用Gitlab CE 8.0.3版本。 我们使用omnibus软件包将其安装在Centos7虚拟机中。 我们想通过将它传递给最新版本的gitlab(版本9.4.3)来进行更新,并从8.0.3版本中恢复数据。 同时,我们希望将新的gitlab安装在虚拟机中托pipe的Docker容器中,而不是安装生产gitlab的容器。 我们面临的问题是: 如何以最less的停机时间进行迁移? 是否可以直接从版本8.0.3切换到版本9.4.3? 我们如何在新版本的gitlab中恢复应用程序数据(项目,用户,组等)? 我们试图从我们在生产中运行的gitlab中备份数据,并使用gitlab-rake将它们恢复到容器化的gitlab 9.4.3中,但是我们有一个错误信息说不能恢复8.0.3数据9.4.3 gitlab。 感谢您的答案!

Gitlab-ci服务configuration

我有一个在Gitlab-ci的docker runner上执行的pipe道,我面临一些问题。 我需要有一个Oracle数据库,我需要configuration它,然后我运行pipe道。 我曾经在一个shell运行器上运行我的pipe道,所以我没有任何问题运行一个容器的docker容器,所以它可以有我可以运行docker exec命令的设置脚本。 但是这里对我来说似乎更加复杂。 1)首先,我在文档中看到,存储库已转移到builds库中的每个服务。 所以我尝试了一个简单的pipe道: image: maven:3.5.0-jdk-8-alpine maven-build: stage: build services: – name: ubuntu command: ["ls", "-la", "builds/Username"] script: – echo "test" Username是builds的唯一存储库,它是空的。 我怀疑这可能是因为这条线我无法解释: *** WARNING: Service runner-4e4528ca-project-3885266-concurrent-0-ubuntu-0 probably didn't start properly. 2)假设第一个问题已经解决,我可以访问我的存储库文件,比如我的设置脚本。 我怎样才能运行它们? 有没有一种方法来模拟docker exec命令? 我应该重写入口点和命令来运行我想要的? 3)在我旧的pipe道中,我等着容器准备好这个便宜的把戏: while [ "$(docker logs oracle-test | tail -1)" != "Database ready to use. Enjoy! […]

将现有的Docker容器添加到Rancher中的Kubernetes集群

我已经在Google Cloud上设置了RancherOS,并configuration了四个实例(Rancher服务器+三个代理节点)。 在其中一个代理节点上,我运行了GitLab CE 9.3.9。 我后来configuration了Rancher代理 。 现在,当我检查Kubernetes仪表板的Hosts部分时,我发现它识别GitLab容器并在Standalone Containers部分提到它。 我想使它成为Kubernetes集群的一部分。 我看到有一个GitLab容器的clone选项。 这是我必须使用它来成为集群的一部分吗? 如果没有,有没有办法将它导入Kubernetes? 在设置GitLab时,我只运行了下面的脚本: #!/bin/bash sudo docker run –detach \ –hostname gitlab.example.com \ –publish 443:443 –publish 80:80 \ –name gitlab \ –restart always \ –volume /mnt/data/gitlab/config:/etc/gitlab \ –volume /mnt/data/gitlab/logs:/var/log/gitlab \ –volume /mnt/data/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:9.4.5-ce.0

使用docker执行程序的gitlab-runner无法上传文物

我有问题在我的构build产生文物。 我的设置是一台服务器,安装了Gitlab,同一台服务器安装并configuration了运行程序。 Gitlab v9.5.1 Gitlab Runner v9.5.0 鉴于这个gitlab-ci.yaml image: node:6 before_script: – npm install cache: untracked: true key: '$CI_BUILD_REF_NAME' paths: – node_modules/ stages: – test – build testJob: stage: test script: – npm test buildJob: stage: build when: manual artifacts: paths: – dist/ script: – npm run build 并configuration使用docker执行器的运行。 除了处理工件之外,所有东西都是按照它应该build立的。 手动执行buildJob时,我得到以下输出 Uploading artifacts… dist/: found […]

function/分支开发的最佳方式

第一个问题。 什么是最好的方式来创builddocker-compose.yml每个分支承诺gitlab? 我的想法是为存储库中包含的所有分支生成docker-compose.yml,因此每个分支都可以通过url访问,比如branch.site.XYZ。 所以每个分支都可以独立testing其他分支,但是生成docker-compose.yml的“最佳”方法是什么? 我应该使用一些git钩子? 所以在提交后,一些docker-compose.test.yml将被生成(与所有分支)并承诺当前提交? 生成的docker-compose.test.yml会在一些代理的后面,这会根据主机名将请求路由到容器? 所以,如果我有3个分支,3个docker图像将被build立,所有3个图像(容器)将可以通过不同的主机名({分支[1-3] .site.XYZ})访问。 我是这方面的初学者(git / docker / gitlab),你能推荐一些方法来做到这一点吗? 我想创build每个新function的分支,这个function应该是唯一的子域(如abc.site.XYZ)可testing,然后合并到主和释放。 我现在是孤身一人,但有时候应该做出不同的function,所以我需要像每个分支开发testing一样。 你有什么想法吗? 提前致谢。

无人机CI无法克隆的步骤

我在docker上的一台机器上运行,组成如下: gitlab 无人机(服务器) 无人机(代理) 当我触发一个构build(或由git push触发)时,无人机在这个问题上不断失败: git init Initialized empty Git repository in /drone/src/.git/ git remote add origin http://my-git/amaziagur/location-service.git git fetch –no-tags origin +refs/heads/master: fatal: unable to access 'http://my-git/amaziagur/location-service.git/': Couldn't resolve host 'my-git' exit status 128 这里是docker-compose.yml: version: '2' services: #PROXY gitlab: image: 'gitlab/gitlab-ce:9.1.0-ce.0' restart: always hostname: 'my-git' links: – postgresql:postgresql – redis:redis environment: GITLAB_OMNIBUS_CONFIG: […]

Gitlab API不可访问

我在Docker容器中运行gitlab 9.5.5,当我通过http进行第一次推送时,我得到以下错误: * upload completely sent off: 387 out of 387 bytes < HTTP/1.1 200 OK < Server: nginx < Date: Wed, 20 Sep 2017 13:17:43 GMT < Content-Type: application/x-git-receive-pack-result < Content-Length: 118 < Connection: keep-alive < Cache-Control: no-cache < X-XSS-Protection: 1; mode=block < X-Frame-Options: SAMEORIGIN < X-Content-Type-Options: nosniff < * Connection #1 to host […]

自动validation私人dockerregistry

我有一个GitLab托pipe的私人dockerregistry。 我需要支持自动访问这个registry(通过Gitlab CI),但我不想使用开发人员凭据(不安全,并且需要每次开发人员离开公司时更改它们)。 别人怎么authentication? 你是否创build了一个“API帐户”进行身份validation? Docker似乎不支持服务帐号密钥或其他validation方法。 谢谢 编辑: GitLab CI SSHregistrylogin 这里接受的答案回答了GitLab的问题。 不过,我想知道是否有其他select,因为这仍然只允许通过GitLab CI进行部署时的临时密钥

Gitlab亚军在ubuntu服务器上抛出错误(kern.log)

我在我的Ubuntu服务器(16.04 LTS)上运行一个gitlab实例(9.2.1)作为docker容器。 今天,我看着我的kern.log文件,并有像这样的无尽条目: Sep 24 07:13:06 user gitlab-runner[18242]: time="2017-09-24T07:13:06+02:00" level=error msg="Checking for jobs… forbidden" runner=48aab051 #012<nil> Sep 24 07:13:06 user gitlab-runner[18242]: time="2017-09-24T07:13:06+02:00" level=warning msg="Checking for jobs… failed" runner=4ad89567 status="couldn't execute POST against https://ci.server.com/ap$ Sep 24 07:13:06 user gitlab-runner[18242]: time="2017-09-24T07:13:06+02:00" level=error msg="Checking GitLab compatibility… not-compatible" reason="GitLab Runner >= 9.0 can be used ONLY with GitLab $ […]

什么是gitlab $ CI_JOB_TOKEN的生命周期

鉴于此login: docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.example.com 什么是login的生命周期? 特别用于kubernetes部署。 kubernetes是否需要为其创build的实际gitlab用户重新启动节点并重新提取图像?