我现在每天坚持2天.
我有一台带有Gitlab4和gitolite的CentOs机器.一切都运行良好数周,但突然上周末发生了一些奇怪的事情,所有的二进制文件都从mashine中消失了(比如yum,python,ruby,mysql等).我真的不知道它是如何让人高兴的......经过几个小时的重新安装和编译gitlab再次工作.
但是我无法获得gitlab和git用户之间的ssh密钥.我已经删除并重新创建了git用户,再次设置了所有权限,重新创建了ssh密钥,重新安装了gitolite等.但没有任何效果我继续得到同样的错误.
git user .ssh文件夹
-rwx------ 1 git git 557 Mar 27 16:46 authorized_keys
Run Code Online (Sandbox Code Playgroud)
gitlab用户.ssh文件夹
-rw------- 1 gitlab gitlab 1671 Mar 27 16:45 id_rsa
-rw-r--r-- 1 gitlab gitlab 406 Mar 27 16:45 id_rsa.pub
-rw-r--r-- 1 gitlab gitlab 391 Mar 27 16:50 known_hosts
Run Code Online (Sandbox Code Playgroud)
SSH错误:
ssh -vvvT git@localhost
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [127.0.0.1] …Run Code Online (Sandbox Code Playgroud) 如何在Eclipse上添加Git-Lab?
这样我就可以从GitLab中推送或获取.我是新手,请给出更多解释.
将代码保存在gitlab和github中是危险的吗?
我听说将代码提交给gitlab和github是相当安全的.
原因是每个代码都经过哈希处理,并且每个人都不可能在不使用git工具的情况下更改代码.
这是真的?
gitlab的容器注册表(https://gitlab.com/help/container_registry/README.md)的文档提供了一个配置示例,其中包含以下指令:
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.example.com
而这个解释:
You have to use the credentials of the special gitlab-ci-token user with its password stored in $CI_BUILD_TOKEN in order to push to the Registry connected to your project. This allows you to automated building and deployment of your Docker images.
我找不到关于这个特殊gitlab-ci-token用户的任何文档,也没有关于$CI_BUILD_TOKENvar的文档.
这个特殊用户是什么?它是自动可用的吗?是否必须在某处定义?应该给$CI_BUILD_TOKENvar 什么值?
我正在使用Hosted Gitlab来托管我的Git存储库,最近我一直在使用它来构建/部署PHP和Java应用程序到服务器.
我想要做的是一旦构建完成,使用SSH部署应用程序.有时这可能只是通过SSH将最终构建(PHP文件)的内容上传到服务器,或者有时可能上传已编译的.jar文件,然后在远程服务器上执行命令以重新启动服务.
我已经将自己的Docker容器设置为构建环境,这包括Java,PHP,Composer和Maven等所有构建完成所需的东西.我正在使用此图像来运行构建.
我想知道的是,我如何通过SSH连接外部服务器以执行我可以在gitlab-ci.yaml文件中指定的部署命令?
我是开发社区的新手,特别是DevOps实践的新手,作为项目的一部分,我们正在尝试将SonarQube与Gitlab集成,在SonarQube和Git CI(持续集成)上进行了一些研发,看起来像是为Github和SonarQube发布的插件而不是Gitlab.
使用SonarQube配置GitLab以检查每个拉取请求的代码质量以及集成这两个部分的最佳实践是多么现实.
谢谢
我在Windows 10 Pro x64上使用GitLab Community Edition 9.1.3 2e4e522.有了Git客户端.
错误
Cloning into 'project_name'...
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'http://my_user_name@example.com/my_user_name/project_name.git/'
Run Code Online (Sandbox Code Playgroud)
怎么解决?
我正在尝试实施GitLab CI Pipelines来构建和部署Angular应用程序.在我们的项目中,我们有两个一般分支:( master仅限生产)和develop.为了开发,我们feature/some-feature从develop分支创建分支.当开发完成后,我们创建合并请求feature/some-feature到develop.当合并请求被批准并合并到develop分支时,我想运行管道以构建应用程序并在某些环境中部署构建.
我在.gitlab-ci.yml中使用以下设置:
image: node:7.5-configured
stages:
- build
- deploy
build_job:
stage: build
only:
- develop
script:
- /bin/bash <some script here>
...
Run Code Online (Sandbox Code Playgroud)
问题是每次我进入任何feature/some-feature分支时都会执行Pipeline .我的设置有什么问题?我怎样才能迫使管道被执行只有当推进行到develop直接分支?
解决方案
这是我的错误 - 我在develop分支和feature/some-feature分支中有两个不同的.gitlab-ci.yml文件.
我有多个工作使用单个外部资源(服务器)。第一个作业将应用程序部署到环境中,第二个作业在此环境中执行测试,第三个作业在此环境中执行集成测试。
我知道有资源组选项。但它只锁定工作。如果两个管道同时运行,我需要从第一个管道执行job1, job2,job3并且只有当第一个管道释放资源时 - 第二个管道才能启动jobs1-3。有没有办法实现这一目标?管道中还有其他工作 - 它们应该同时工作。