Tag: git

如何在Jenkins中使用Git标签标记Docker图像?

希望我只是缺less一些简单的东西,但我不知道如何在Jenkins作业中用Git标签标记Docker镜像。 我一直在使用Docker构build和发布插件来构build我的图像,但它的标签input似乎只接受令牌macrosinput。 Git插件不会导出标签macros,我一直没有find一个替代插件。 我试图用Envinject插件将环境variables git-describe的结果导出到环境中,但Docker插件似乎无法读取环境variables,即使使用${ENV,var=VARIABLE}令牌macros也是如此。 我可以通过编写整个stream程来实现这一目标,但是我希望使用Docker插件进行registry凭证pipe理。

需要安装Perl和Linux

我知道如何使用Dockerfile来获得我需要的Perl: FROM perl:latest RUN curl -L http://cpanmin.us | perl – App::cpanminus RUN cpanm JSON RUN cpanm Data::Dump RUN cpanm -f XML::SAX RUN cpanm XML::SAX::Expat RUN cpanm XML::Simple 但我也想安装git和make,因为我想克隆我的perl代码,然后cd进入一个目录并使用make运行它。 但增加 RUN yum install git 到了上面,产生了这个错误: /bin/sh: 1: yum: not found 有人可以提出一个办法吗? 我尝试了从Linux开始,并做了一个 RUN yum install perl 但是我没有得到像官方那样顺利运行的Perl。 特别是,当我尝试添加我需要的模块时会窒息。 谢谢。

Docker安装带有Memcache扩展的PHP-7-fpm? 失败与找不到config.m4

我正在尝试安装Docker与PHP版本7.0与memcache支持,我的docker文件如下,但它失败@STEP 10错误 Step 10 : RUN /usr/bin/phpize —> Running in 450678a59cd4 Cannot find config.m4. Make sure that you run '/usr/bin/phpize' in the top level source directory of the module [31mERROR[0m: Service 'php' failed to build: The command '/bin/sh -c /usr/bin/phpize' returned a non-zero code: 1 Docker文件如下 FROM php:7.0-fpm #FROM php:5.6-fpm RUN apt-get update && apt-get […]

将git分支挂在一个容器中

我有一个与2个不同的分支,例如master foo的git仓库: mkdir test && cd test git init echo master > master git add . && git commit -m "init master" git checkout -b foo rm master echo foo > foo git add . && git commit -m "init foo" 现在,我想将容器中的master和foo作为分离的卷装入,以便在我的容器中使用此架构: . ├── foo │ └── foo └── master └── master 可能吗?

在Docker下放置.gitignore文件的位置?

我正在处理我的第一个包含rails应用程序的docker-compose.yml。 我应该如何处理.gitignore文件? 在主目录中我有: 泊坞窗,compose.yml README.md 加上每个非图像容器的文件夹 我在相关的容器目录中生成了一个Rails应用程序。 这包括标准生成的.gitignore文件。 我应该将.gitignore移动到主目录,并将所有忽略保留在一个地方,或者将它留在原来的位置,并将忽略保留在容器目录级别 。 有没有我没见过的陷阱?

有Concourse只build立新的docker容器文件差异不提交

所以我有一个pipe道,从一个单一的git仓库build立多个docker集装箱。 它看起来像这样: — resources: – name: resource-docker type: git source: uri: https://github.com/$MYUSER/$MYREPO.git branch: master # docker-image resources – name: first-container type: docker-image source: repository: $MYUSER/first-container – name: second-container type: docker-image source: repository: $MYUSER/second-container jobs: # image-update jobs – name: first-container-image-update public: true serial_groups: – serial_lock plan: – get: resource-docker serial: true – put: first-container params: […]

dockergit克隆在生成过程中不克隆(而不是错误)

这是docker git命令 WORKDIR /var/www RUN git clone –verbose git@github.com:<private git repo>.git /var/www git clone命令执行时没有错误,但在连接到容器后,我无法在任何文件夹中find项目。 我已经尝试cd到/ var / www克隆之前,但结果相同。 有一件奇怪的事情,我希望–verbose标志输出项目的摘要细节,但不是。 所以我添加了一个声明来validationSSH连接: RUN \ chmod 600 /repo-key && \ echo "IdentityFile /repo-key" >> /etc/ssh/ssh_config && \ echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config && \ ssh -v git@github.com 它连接成功,输出: Hi willlopez! You've successfully authenticated, but GitHub does not provide […]

如何将当前的部署方法迁移到使用Docker的方法?

这将是一个有点问题,所以要预先警告。 简短版本: 我们当前的部署系统使用Fabric和Git来部署Python Web应用程序和支持部件。 该系统运行良好,但经过2个星期的工作来扩展它,我意识到我本质上是试图重新发明Docker轮。 于是我决定考虑重新使用Docker。 但是,我在处理Docker到当前工作stream的方式和方式方面遇到了一些麻烦。 长版: 我目前正在开发一个由Apache,Django后端,Flask前端,ElasticSearch部署和PostgreSQL数据库组成的Web应用程序。 后端和前端通过Apache暴露给外部世界,并通过所述暴露相互通信。 部署使用Fabric和Git。 当Fabricpipe理configuration和pipe理部署环境所涉及的所有任务时,Git用于穿梭变化。 目前的系统对于基本的使用情况已经足够了。 但是,随着我们添加更多的开发者testing不同的分支变得更加棘手。 这是因为每个部署环境(目前有2个,分段服务器和生产服务器)只能服务整个应用程序的一个实例。 另一个难点是确保每个开发人员都有正确的设置来正确运行应用程序。 我花了两个星期的时间来努力改进我们部署的Fabric方面,取得了一些成功。 不幸的是,成功打开了一堆蠕虫,我很快意识到这会导致大量的新增开发,简单地复制Docker已经做的事情。 因此,我决定退后一步,关于如何整合Docker。 尽pipe如此,我还是遇到了一些麻烦。 目标: 保持现在的部署相对简单:目前部署基本上只是导致部署环境获取最新的更改,备份数据库,应用更改,确保应用程序configuration正确,然后重新启动任何必要的服务。 让分支testing变得容易:如果我能告诉testing者等testing分支A,他们只需要浏览到Axyz,分支B可以在Bxyzfind,那将是非常好的。我使用Fabric做的工作pipe理着这一个组件(前端),但是在处理其他组件的Fabric文件时,我意识到事情有可能变成一个可怕的混乱。 允许开发人员在与deployv env相近的环境中进行开发,而不强制他们运行部署env的镜像:部署envs非常适合部署,但并不是每个人都想在他们的开发箱上运行Ubuntu,原因有很多。 Docker在本地复制部署env方面似乎有很大的潜力,但实际上并没有这样做。 问题部分: 我遇到麻烦的地方是决定Fabric,Docker和Git应该做什么。 我应该部署Docker整个映像,包括应用程序还是使用Docker来简单地封装部署环境,然后将应用程序挂载到Docker映像中? 或者我应该尝试在Docker镜像中复制当前进程? 或者我应该想出一些主要利用Docker的新stream程,并减lessFabric和Git的数量? 不幸的是,似乎有很多潜在的方法,我真的不知道哪一个是推荐的,哪一个是不好的主意。 任何人都可以推荐一个部署方法,可以让我实现我的目标,而不会遇到重大问题?

docker集装箱内的gitolite回购自动拉

FROM fedora:latest RUN yum install -y nginx git uwsgi RUN echo "nameserver 8.8.4.4" > /etc/resolv.conf RUN rm -rf /root/.ssh/ && mkdir -p /root/.ssh/ COPY id_rsa.pub /root/.ssh/id_rsa.pub COPY id_rsa /root/.ssh/id_rsa RUN cat /root/.ssh/id_rsa* && chmod 0400 /root/.ssh/id_rsa && echo "" > /root/.ssh/known_hosts RUN mkdir -p /srv/nginx/ RUN ssh -vvv -p 49022 git@example.com || true RUN git […]

docker工人jenkins如何在另一个docker工人访问gitlab的git-repo

我在同一台服务器(我的笔记本电脑)上安装了gitlab-docker和jenkins-docker : docker run –name gitlab-postgresql -d \ –env 'DB_NAME=gitlabhq_production' \ –env 'DB_USER=gitlab' –env 'DB_PASS=password' \ –volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \ quay.io/sameersbn/postgresql:9.4-5 docker run –name gitlab-redis -d \ –volume /srv/docker/gitlab/redis:/var/lib/redis \ quay.io/sameersbn/redis:latest docker run –name gitlab -d \ –link gitlab-postgresql:postgresql –link gitlab-redis:redisio \ –publish 10022:22 –publish 80:80 \ –env 'GITLAB_PORT=10080' –env 'GITLAB_SSH_PORT=10022' \ –env 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \ –volume […]