Tag: git

在构build期间在dockerized rails应用程序中使用私有Github存储库

我用docker-compose.ymldocker化了一个新的Rails 5应用程序,并且将我的ssh-agent套接字转发到了撰写文件中的容器中。 如果我通过docker构build和运行,这是工作正常,我可以访问SSH密钥。 但是,如果将bundle install添加到从私有Git存储库获取并需要SSH密钥的构build过程中,则当然还不可用。 我该如何解决这个问题? 我目前的Dockerfile和docker-compose.yml文件是: https ://gist.github.com/solars/d9ffbc4c570e9a128d6b0254268d785a 谢谢!

使用Gitlab CD和Docker

这篇文章也是在/ r / Gitlab和/ r / Docker上发布的 我对Gitlab相当陌生,但是我绝对喜欢它的一个本质,我真的不知道它为什么不那么受欢迎。 我在Gitlab.com上为我的个人网站托pipe了一个私人项目,我一直在想如何设置Gitlab CD来将我的主分支自动部署到作为DigitalOcean Droplet托pipe的Docker。 这里是我的最佳工作stream程,请记住,我比持续部署部分更需要帮助,而不是testing部分。 更改分支上的git 在每次提交推送时,都会运行testing 一旦我准备好融入主人,我打开一个合并请求,并再次运行testing。 然后我合并和主分支更新,这下一部分是我需要帮助。 docker服务器更新到最新的版本,并继续服务。 循环重复,更改,testing,合并,部署,重复。 我需要编写.gitlab-ci.yml文件来帮助您更新docker服务器,并确保最新版本的master服务器正在运行。 我想我最大的问题是,如何让我的docker服务器自动更新到最新版本的主? 需要更多信息: 我的网站使用Go运行 它只需要一个容器 我每天最多推送一次更新 谢谢,任何帮助,将不胜感激。

如何解决RHEL容器上的“通道0上的shell请求失败”?

我试图从一个Jenkins容器(RHEL7)连接到一个Stash仓库。 连接似乎authentication成功,但不久后失败。 Connection established. debug1: identity file /var/jenkins_home/.ssh/id_rsa type 1 debug1: key_load_public: No such file or directory debug1: identity file /var/jenkins_home/.ssh/id_rsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /var/jenkins_home/.ssh/id_dsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /var/jenkins_home/.ssh/id_dsa-cert type -1 debug1: key_load_public: No such file or […]

从jenkinsdocker不工作的git推

我正在运行一个Jenkins泊坞窗图像,并尝试通过GitHub做一个git推送。 我在PostSteps(Execute Shell)和Git Publisher的PostBuild Actions做了git commit。 在jenkins有什么特殊的身份validation? 我无法弄清楚。 非常感谢。 错误: 无法将分支主机推送到原点hudson.plugins.git.GitException:命令“git push HEAD:master -f”返回状态码128:stdout:stderr:remote:无效的用户名或密码。 致命:身份validation失败,在org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1903)

通过npm install – Docker Container访问private git repos

我正在build立一个Docker容器,这个容器将从GitHub中抽取私有的回购作为这个过程的一部分。 目前我正在使用从命令行传递的Access Token (一旦构build通过Jenkins触发,将会更改)。 docker build -t my-container –build-arg GITHUB_API_TOKEN=123456 . # Dockerfile # Env Vars ARG GITHUB_API_TOKEN ENV GITHUB_API_TOKEN=${GITHUB_API_TOKEN} RUN git clone https://${GITHUB_API_TOKEN}@github.com/org/my-repo 这工作正常,似乎是一个安全的方式做到这一点? (尽pipe需要在构build时检查var GITHUB_API_TOKEN) 我正在寻找人们如何处理SSH密钥或访问令牌时运行npm install和依赖从github拉 "devDependencies": { "my-repo": "git@github.com:org/my-repo.git", "electron": "^1.7.4" } 目前,我不能拉这个回购,因为我得到的错误Please make sure you have the correct access rights因为我没有在这个容器中的SSH密钥设置 任何帮助赞赏 谢谢

jenkins如何构build/克隆安装在Docker容器中的远程git仓库?

我有一个支持Docker容器的专用Synology NAS Cloud。 现在我计划一个私人构build和部署pipe道或类似的东西。 我做的第一步是: 在Synology上安装Git Server 初始化一些回购 克隆他们在我的MacBook上 通过ssh进行通信(commit,push,pull) – >一切正常。 现在我已经在NAS上启动了一个Jenkins映像的Docker容器。 我想让Jenkins在NAS上(我在MacBook上克隆的同一个存储库)轮询我的远程存储库。 我还将所有远程存储库的“/ git”文件夹挂载到Jenkins Docker容器中。 所以我想将知识库URL添加到Jenkins作业中: file:///git/firstRepo —>但这不工作:( ERROR: Error fetching remote repo 'origin' hudson.plugins.git.GitException: Failed to fetch from file:///git/firstRepo at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:817) at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1084) at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1115) at hudson.scm.SCM.checkout(SCM.java:495) at hudson.model.AbstractProject.checkout(AbstractProject.java:1276) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild. java:560) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:485) at hudson.model.Run.execute(Run.java:1735) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) […]

在Docker容器上启动github

我找不到github的docker镜像,为什么? 我需要一个和github完成相同工作的git服务器的映像: 做版本控制库 有一个http网站 build议与github相同的API(为了使用一些jenkins插件计划使用github) gitolite不符合要求#2 gitlab不符合要求#3 任何想法?

通过Dockerfile安装包时出错

我是Docker的新手。 我正在尝试在Ubuntu映像上安装捆绑软件包作为父映像。 这是我的Dockerfile的外观 – FROM ubuntu RUN apt-get update RUN apt-get update && apt-get install -y curl RUN apt-get remove -y openssh-client RUN apt-get autoclean && apt-get update && apt-get install -y openssh- server #INSTALL ESSESNTIAL PACKAGES #RUN apt-get -y install zsh htop RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server #RUN curl -sSL https://rvm.io/mpapis.asc | gpg […]

Jenkins:重复性Git轮询构build(Docker容器)

Linux构build系统。 Jenkins 2.73.2(jenkins / jenkins:lts Docker图像)Git Plugin 3.6.2 很基本的设置: 限制可以运行的项目(设置为发生构build的Docker容器的名称)。 分支构build:分支规范:“**” 其他行为:高级克隆行为:不提取标签 轮询PCM:“H / 5 * * * *”(Bitbucket无法通过networking到达此服务器以触发Git推送) Git轮询日志只是说“发现的变化”: Started on Oct 27, 2017 2:18:58 AM Polling SCM changes on [node_unavailable] Using strategy: Default [poll] Last Built Revision: Revision adaec1b1c0e4b83dab922eeb490b2f09a4839d30 (origin/EGN-1489) Done. Took 1 ms Changes found 每五分钟一次,这会不断触发相同的构build。 GIT_BRANCH=origin/EGN-1489 GIT_COMMIT=adaec1b1c0e4b83dab922eeb490b2f09a4839d30 GIT_PREVIOUS_COMMIT=adaec1b1c0e4b83dab922eeb490b2f09a4839d30 GIT_PREVIOUS_SUCCESSFUL_COMMIT=adaec1b1c0e4b83dab922eeb490b2f09a4839d30 在阅读可能的解决scheme时,我尝试了“擦除存储库和强制克隆”选项和“使用工作区强制轮询”选项,但是这些和我尝试过的任何东西似乎都没有工作。 我也没有任何post-commit钩子或任何特别的东西。 […]

在Docker容器中使用git,composer,oh-my-zsh(UID / GID问题)

我目前正在Docker上开发一个定制开发环境。 我曾经build立一个重新组合Git,Composer,Symfony,Java的“工具”。主要目标是不要在主机上安装thoses软件包(我可以快速地从容器主机切换到主机) 我使用的工具容器是基于debian的:jessie; 使用“哦,我的ZSH”,主要是这部分的Git和composer php。 我的git存储库是从主机挂载的。 这里有两个相关的问题: 问题1 由于运行Docker显然是在root 0:0,我有我的本地用户主机(默认1000:1000)和运行Git或Composer的容器的UID / GID问题。 容器运行它作为根(0:0)和大部分时间破坏本地主机权限。 我已经尝试了与Gosu( https://github.com/tianon/gosu )的一些解决方法和/或玩关于创build用户(RUN useradd,USER用户….)envvars和Dockerfile参数。 仍然在这一部分失败。 问题2 与oh-my-zsh同样的问题。 考虑到它正在使用根,如果我更改用户,我得到一个容器内的权限被拒绝。 让我们考虑一下这个Dockerfile作为我目前用来构build容器的Dockerfile: FROM debian:jessie RUN apt-get update -qq && apt-get install -y bc zsh curl wget git tig gettext-base vim nano # Install Oh My Zsh RUN wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O – | zsh || true […]