将GitLab CI变量写入文件中
我如何编写gitlab ci变量以构造文件: test: stage: test script: - touch "config.json" - echo "{"database":"$DB_NAME"}" >> config.json 变量无法解决.总是在文件config.json中得到以下JSON:{"database":"$DB_NAME"},但我想要这个{"database":"my_database_name"} 我该如何解决这个问题? 解决方案 我通过类似的参数通过shell脚本解决了我的问题: test: stage: test script: - bash setup_config_for_tests.sh $DB_NAME $DB_PASSWORD $SALT $HOST_PROD $USERNAME_PROD $PASSWORD_PROD #!/bin/bash # create config
0 2023-05-31
编程技术问答社区
是否可以用Composer从Gitlab上的仓库安装一个包?
我试图让作曲家从Gitlab上的存储库下载库,但是,它没有composer.json文件,所以我不确定是否可以. "require": { "username/repository-name" }, "repositories": [{ "type": "package", "package": { "version": "dev-master", "name": "username/repository-name", "source": { "url": "https://gitlab.com/username/repository.git", "type": "git", "reference": "master" }
0 2023-05-28
编程技术问答社区
GitLab-CI多跑者php作曲家缓存
我将带有Docker容器的Gitlab-Ci-Multi-Runner使用.一切都很好,但是Docker容器不能保留composer缓存,因此在每次运行composer中一次又一次地下载依赖项,这需要大量时间.有什么方法可以配置gitlab-ci-runner docker容器以保持composer缓存或在保留composer缓存的情况下安装卷? 解决方案 您可以修改作曲家缓存路径并将这些内容写入Docker卷. 该存储是持久的,可以在容器上共享. 引用: 其他解决方案 您可以通过导出跑步者配置文件,然后在如果您将gitlab-runner作为root或sudo运行,则您的配置文件位于/etc/gitlab-runner/config.toml.否则它位于$HOME/.gitlab-runner/config.toml. # config.toml [[runners]] name = "Generic Docker Runner" ...
2 2023-05-28
编程技术问答社区
Kubernetes集群和Phoenix自动化了“混合异位迁移”?
我正在将我的凤凰应用程序推向kubernetes群集以进行审查.我使用gitlab为Web服务器创建服务,另一个为临时Postgres Pod的服务. 我想做的是自动化mix ecto.create和mix ecto.migrate.但是,有一个时机问题 - 邮政局服务器尚未准备就绪. 在创建Web应用程序服务之前,我可以在部署脚本中对Postgres服务进行轮询.但这是最实用的方法吗? 解决方案 kubernetes有一种叫做在文档中,这是一个应用程序容器的示例,该示例等待DB容器. apiVersion: v1 kind: Pod metadata: name: myapp-pod labels: app: myapp spec: containers: - name: myapp-container image: busybox command: ['sh', '-c', 'echo The ap
2 2023-05-25
编程技术问答社区
启用使用pgadmin和gitlab的OAuth2
我已经在kubernetes上部署了pgadmin,我正在尝试按照这是我传递的OAuth配置: AUTHENTICATION_SOURCES = ['oauth2', 'internal'] OAUTH2_CONFIG = [ { # The name of the of the oauth provider, ex: github, google 'OAUTH2_NAME': 'gitlab', # The display name, ex: Google 'OAUTH2_DISPLAY_NAME': 'Gitlab', # Oauth client id 'OAUTH2_CLIENT_ID': 'my-client-id-here', # Oauth secret 'OAUTH2_CLIENT_SECRET': 'my-client-secr
0 2023-05-25
编程技术问答社区
Docker上的GitLab:如何在部署之间持久保存用户数据?
我正在使用官方的gitlab docker图像. 我想在我的gitlab容器中使用预配置的用户帐户用于测试. 但是用户帐户保存在卷中,因此我不能仅仅commit和push创建了我的测试用户后的gitlab映像. so:我应该如何坚持它们? 一种方法是在每次新部署后使用API​​在启动时创建它们,但这很慢/笨重. 解决方案 正如您所说,由于Gitlab-CE和Gitlab-Ee图像中声明的卷,它不会像投入和推动Docker映像那样容易. 也许您可以
0 2023-05-25
编程技术问答社区
Bitnami:如何在Apache2中配置GitLab 5.0应用程序不具有相对根?
(或如何将gitlab应用程序作为Apache2 HTTP服务器上的root应用程序.) 我以前从未使用过Apache2,但是我得到了 i并遇到问题,因为应用程序根是相对的. bitnami gitlab 5.0和git&eclipse&eclipse quick quick quick Start 修复程序是不使用相对根,而是将gitlab应用程序作为Apache2 http Server上的root运行. 我已经使用 1)/opt/bitnami/apache2/conf/httpd.conf不存在. 2)gitlab aplication的apache2配置:gitlab.conf 请帮助: 如何在Apache2中配置GitLab 5.0应用程序不具有相对根? 更新:这仍然没有解决,我自己的答案无济于事. 解决方案 您是否再次对资产进行了预编译?为此,您应该运行: $ cd /opt/bitnami/apps/gitlab/h
0 2023-05-21
编程技术问答社区
Gitlab webui通过gitlab-rails设置密码后询问密码
安装gitlab后,我使用gitlab轨道更改root密码,但是网络接口仍然要求设置密码. 如果我更改WebUI上的密码,我可以使用gitlab轨道更改密码. 所以我用 user = User.find_by(email: 'admin@local.host') user.password = 'secret_pass' user.password_confirmation = 'secret_pass' user.save 或 gitlab_rails['initial_root_password'] = 'nonstandardpassword'in gitlab.rb gitlab-rake gitlab:setup 您是否有一个想法,即我如何在没有GUI的情况下将第一个root密码致化? 谢谢 解决方案 请使用sudo gitlab-rake gitlab:setup RAILS_ENV=production GITLAB_ROOT_PASSW
2 2023-05-21
编程技术问答社区
把Gitlab放在一个有apache和passenger的子目录下
我正在尝试设置GitLab,以便通过现有Apache Server的子目录example.com/gitlab可以访问它.我正在尝试使用乘客,因为这似乎是最容易设置的,但是其他解决方案也可以接受.不幸的是,对我来说,使用单独的虚拟主机对我来说不是一个选择. 我的设置 在设置此问题时,我遵循 gitlab设置指南/a>和 Pastegenger Documentation . 我相信/etc/httpd/conf/httpd.conf最相关的部分是以下内容: DocumentRoot "/home/.www" # gitlab config RackBaseURI /gitlab Options -MultiViews apache的DocumentRoot包含gitlab公共目录的符号链接: $ ls -l /home/.www lrwxrwxrwx 1 r
8 2023-05-20
编程技术问答社区
如何在Gitlab CI中使用Dockerfile
使用gitlab-ci作为我的节点/react应用程序,我正在尝试将phusion/passenger-nodejs用作基本docker image i可以在.gitlab-ci.yml中轻松地指定它: image: phusion/passenger-nodejs:latest variables: HOME: /root cache: paths: - node_modules/ stages: - build - test - deploy set_environment: stage: build script: - npm install tags: - docker test_node: stage: test script: - npm install - npm test tags: - docker 但是,Phusion乘客希望您进行配置更改,例如Python支
0 2023-05-20
编程技术问答社区
为什么Gitlab 6要换回unicorn?
gitlab 6.0 昨天发布.我很想知道为什么他们切换到 Unicorn 来自 puma . 5之前的版本使用 Unicorn .我认为切换到 puma 更好. 此开关有技术原因吗? 解决方案 Gitlab B.V.首席执行官在这里,我同意洪利的评论:"如果有问题,那么它们可能会符合Gitlab的代码."我们试图修复它们,但Gitlab是最大的开源导轨应用程序之一,也是难以复制的问题.因此,最后我们选择了最务实的解决方案,转回独角兽.我们喜欢Puma,Unicorn和乘客,并认为它们都是很棒的软件. 其他解决方案 2020年4月更新,Gitlab 12.10: PUMA将成为默认应用程序服务器 GitLab将以13.0的方式将默认应用程序服务器从Unicorn转换为PUMA. 和gitlab 13.0(2020年5月): 使用PUMA 减少GitLab的内存消耗 阅读下面的最后一节. 原始答案2013 The commit
2 2023-05-20
编程技术问答社区
如何在NPM中使用gitlab repo与package.json?
我正在研究一个内部项目,并想在小组中共享工具. 但是,如果我使用NPM工具.它要求该模块已在NPM网站上注册或公共git repo. 我正在使用gitlab.还有一个私人令牌. git+https://gitlab-ci-token:\@//.git 我试图在包装中这样说. 但这不起作用. 有没有办法安装具有授权的私人gitlab存储库? 非常感谢. 解决方案 如果我正确理解您的问题,您希望运行NPM的CI管道能够从GitLab中从您的Gitlab中提取一个私人项目. 在这种情况下,您可以使用Gitlab中的部署密钥机制来为此(请参阅在这里). 首先生成一个SSH键对.您可以使用ssh-keygen -t rsa. 然后转到私有存储库的gitlab页面,然后在:设置> repository中找到Deploy tokens设置.在那里,您应该粘贴刚刚生成
2 2023-05-16
编程技术问答社区
如何在私有的GitLab repo中使用Go?
gitlab是一种免费的开源方式,可以托管私人.git存储库,但似乎与GO无法使用.创建一个项目时,它会生成表单的URL: git@1.2.3.4:private-developers/project.git 其中: 1.2.3.4是gitlab服务器的IP地址 private-developers是一个可以访问私人回购的用户组 Golang 1.2.1似乎不了解此语法. go get git@1.2.3.4:private-developers/project.git 导致: package git@23.251.148.129/project.git: unrecognized import path "git@1.2.3.4/project.git" 有没有办法使它工作? 解决方案 现在在gitlab 8中解决了此问题.*但仍然不直觉.最困难的挑战确实是go get,以下步骤将使您克服这些挑战: 创建一个SSH键对.请确保不
0 2023-05-16
编程技术问答社区
在OS X Yosemite上Git克隆失败,出现sslRead()错误
我目前在OS X Yosemite 10.10.3上,并试图在Windows上使用正常工作的现有仓库.我尝试了通过卷曲/openssl毫无运气的卷曲/openssl安装git的组合.当我运行git克隆时,我会得到以下SSL读取错误: GIT_CURL_VERBOSE=1 git clone http://myURL/gitlab/project/project.git > remote: Counting objects: 1641, done. remote: Compressing objects: > 100% (1588/1588), done. > * SSLRead() return error -98061641), 136.73 MiB | 1.71 MiB/s > * Closing connection 2 remote: Total 1641 (delta 910), reused 0 (delta 0) error: RPC failed; res
0 2023-05-15
编程技术问答社区
gitlab-runner x509: 由未知机构签署的证书
我试图按照以下步骤在gitlab上注册一个新跑步者: https://docs.gitlab.com/runner/runner/register/index.htex.html 但是,当我输入URL时,令牌和标签.错误消息弹出说: 错误:注册跑步者...失败的跑步者= CS-xxx status =无法执行 https ://example.com/api/v4/runners :POST https://example.com/api/v4/跑步者:x509:未知当局签署的证书 我正在研究新服务器,并且已经安装了gitlab-runner 解决方案 您需要在注册期间或在跑步者的配置过程中使用tls-ca-file选项. 这是一个示例的示例使用tls-ca-file选项: gitlab-runner register \ --non-interactive \ --registration-token YOUTOKEN \
8 2023-05-11
编程技术问答社区
SSL23_GET_SERVER_HELLO:sslv3警报握手失败
我刚刚安装了新版本的GitLab,在新安装SSL无法正常工作之后...它抛出SSL23_Get_Server_hello:SSLV3警报握手错误. SSH工作正常.我看到的唯一区别是,在旧浏览器中说,它正在使用TLS 1.0,在新版本中说1.2.由于这与gitlab我在stackoverflow中发布问题无关... $ git clone https://gitlabserver/group/project.git Cloning into 'project'... * Couldn't find host gitlabserver in the _netrc file; using defaults * Adding handle: conn: 0x282d6f8 * Adding handle: send: 0 * Adding handle: recv: 0 * Curl_addHandleToPipeline: length: 1 * - Conn 0 (0x282d6f8
2 2023-05-11
编程技术问答社区
共享Gitlab Runner的SSH停止工作
this 以前做过 我的部署在我的管道中ssh的步骤ssh of do box,并从docker注册表中拉出代码.如前所述,这是以前起作用的,这是我的deploy在当时的.gitlab-ci.yml中,从在Using SSH下: deploy: stage: deploy image: docker:stable-dind only: - master services: # Specifying the DinD version here as the latest DinD version introduced a timeout bug # Highlighted here: https://forum.gitlab.com/t/gitlab-com-ci-stuck-on-docker-build/34401/2 - docker:19.03.5-dind variables: DOCKER_DRIVER:
18 2023-05-11
编程技术问答社区
GitLab如何检查Grack HTTPS推送的权限?
我想为gitlab开发一些功能,然后将其添加到开源库中. 描述: 当用户进行推动时,GitLab检查是否应在数据库中存在所有提交的电子邮件. 我认为将一些验证方法添加到此类,但是当用户推动一些更改时,此验证不会调用(例如,git push push oink oinces master). > > > 我已经研究了路由,然后找到了: mount Grack::Bundle.new({ git_path: Gitlab.config.git.bin_path, project_root: Gitlab.config.gitlab_shell.repos_path, upload_pack: Gitlab.config.gitlab_shell.upload_pack, receive_pack: Gitlab.config.gitlab_shell.receive_pack }), at: '/', constraints: lambda { |request| /
2 2023-05-11
编程技术问答社区
Gitlab和omniauth-pam认证
基本上,我遵循以下说明添加自定义综合提供商: 我想使用omniauth-pam: https://github.com/nickcharlton/nickcharlton/omniauth-pam 添加宝石并在gitlab.yml中进行配置后: providers: - { name: 'pam' } 它不再从此错误开始: Received wrong number of arguments. [nil, nil] (ArgumentError) /sync1/gitlab/vendor/bundle/ruby/2.0.0/gems/omniauth-1.1.4/lib/omniauth/strategy.rb:143:in `initialize' /sync1/gitlab/vendor/bundle/ruby/2.0.0/gems/actionpack-3.2.15/lib/action_dispatch/middleware/st
8 2023-05-08
编程技术问答社区