Tag: git

整个系统映像的轻量级版本控制有哪些解决scheme?

假设您正在构build一个安全关键型软件设备,以在像NVIDIA Jetson TK1这样的强大embedded式系统上运行。 主要的应用程序将在Linux中运行,并使用Gi​​t进行pipe理。 但是,您还希望对整个系统状态进行严格控制 – 更改networking设置,启动,共享库等。另外,您希望能够在运行不同操作系统的台式计算机上针对此系统映像进行开发。 有一个默认的系统映像将被闪存到主板上。 您可以进行更改,保存整个图像,然后重新闪光,但这可能需要30分钟以上。 不是一个好的工作stream程 你可以编写一个bash脚本,伸手进入周围的文件系统,并在安装过程中进行必要的更改,然后在Git中控制该脚本。 但是,由于这是必要的,所以这可能是一种有点脆弱和艰苦的做事方式。 为了certificate它的工作原理,您必须将系统恢复到其假定的默认状态,然后重新安装。 如果系统秘密地与假设的状态有一些不同,那么安装可能会失败。 你可以虚拟化环境(这是否存在这个硬件呢?)。 这是否会让难以利用板卡专用硬件(如Jetson的GPU)? 有没有更好的,更具说明性的方法来解决这个问题? 有没有一个系统可以让我按系统设置的方式按“保存”,提交,然后将其拖到另一个平台上,而不用等待30分钟的闪存?

git clone无法访问docker容器中的主机

我很久以前遇到这个问题,根本解决不了。 任何人都可以给我一些帮助吗? 我创build了一个docker容器,然后在docker里面,我想克隆一个内部的git仓库: git clone git@git.xxx.net:ngcsc/ngcsc.git 我得到这个错误: ssh: connect to host git.xxx.net port 22: No route to host fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 如果我使用curl https://git.xxx.net ,我也遇到错误: curl: (7) Failed connect to git.xxx.net:443; No route to host 我可以curl其他https网站,如curl https://www.google.com 我不知道为什么一些内部网站可以在docker里面find,有些则不是。 任何build议表示赞赏

通过代理ssh错误使用Docker

当我在Linux机器上使用docker(Ubuntu 14.04)时,有几个问题。 在我的networking上有一个不允许ssh的代理。 所以我configuration了我的机器通过netcat-openbsd通过http使用ssh。 我在我的机器上configuration了我的主机gitlab,如下所示: Host gitlab User name.lastname Hostname my_gitlab.com IdentityFile ~/.ssh/my_ssh_key ProxyCommand /bin/nc -X connect -x proxy.example.net:80 %h %p IdentitiesOnly yes 当我试图从我的机器上获得回购,它完美的作品。 所以我configuration了我的docker与相同的configuration,但我得到这个错误 ssh_exchange_identification:由远程主机closures的连接 我尝试在/ etc / default / docker中configurationhttp_proxy https_proxy,但没有任何更改。 而当我使用Mac OS时,我的泊坞窗完美地使用相同的configuration。 有人知道发生了什么?

随机标签应用于每个git提交

背景: Docker Hub允许通过指向Github并在任何地方构build图像来自动构build图像, 提交到一个特定的分支名称 提交使用特定的标签名称 Docker Hub也不允许使用相同标签对图像进行版本控制,也就是说,如果图像是使用tag :version_1构build的,之后使用:version_1构build另一个图像,则原始图像将被完全覆盖。 我希望能够有一个图像的历史。 将autobuild指向特定的分支名称将意味着,在每次提交(和随后的图像构build)时,先前的图像将被覆盖。 因此,我不能利用#1来完成这个。 但也许,我可以利用提交标记! 欲望: 如果我自动生成一个随机标签,并将其应用于git commit,我可能会有一个图像历史logging,其中每个提交都有自己的标签。 从一个特定的提交部署图像的过程,然后只需简单地find应用于该提交的随机标签。 我怎样才能申请一个随机标签(或者,更好的是,将提交的SHA作为标签应用于自己(也许不可能))我的提交? 我不反对bash脚本来解决这个问题。

Docker-Compose构build在Google App Engine上失败

我试图让我的后端在Google App引擎上运行,但是我遇到了一些安装问题。 我的后端使用Docker和Docker-compose来安装一切,并在运行时 docker-compose build 它会开始运行,然后停在 npm info git [ 'submodule', '-q', 'update', '–init', '–recursive' ] 与错误 npm ERR! git submodule -q update –init –recursive: fatal: unable to connect to github.com: npm ERR! git submodule -q update –init –recursive: github.com[0: 192.30.253.112]: errno=Connection timed out npm ERR! git submodule -q update –init –recursive: npm ERR! git […]

如何在谷歌云端运行从私人回购安装点要求?

我正在尝试构build一个Dockerfile,通过pip将需求安装到它构build的容器中。 我认为在google的SDK /云端控制台中可能没有设置正确的东西。 我得到这个错误: me@cloud-q2smart:~/github/jokepkg/test$ sudo pip install -r test-ggl-install/requirements.txt Obtaining funniest from git+https://source.developers.google.com/p/cloud-q2smart/r/jokepkg#egg=funniest-0.1 (from -r test-ggl-install/requirements.txt (line 1)) Updating ./src/funniest clone git: 'credential-gcloud.sh' is not a git command. See 'git –help'. Username for 'https://source.developers.google.com': 该消息看起来像是什么东西试图通过“credential-gcloud.sh”git,和git是响应,它不知道这是什么意思。 它看起来像谷歌已经build立了authentication的一些内部手段被打破。 我真的想要从私人回购正确安装。 我不希望开发团队只是因为authentication机制被破坏而不得不改变他们的stream程到更麻烦的地步。 …但这很棘手…因为pip在幕后调用git,而且看起来谷歌正在试图在幕后做一些事情来告诉git如何进行身份validation。 我创build了一个项目,试图在谷歌云源中的私人回购安装一个简单的Python包。 运行它的说明如下: ( Start up google cloud shell ) $ git clone https://github.com/jnorment-q2/jokepkg.git # pull […]

是否有可能configuration泊坞窗从我的GitHub回购拉?

我想创build一个图像,并把它放在我的GitHub帐户存储库,以处理它,然后使用一个Docker实例。 是否有可能通过一个Docker实例来使这个repo可用,像这样? docker pull https://github.com/basharov/my-docker-image.git 我看到有可能使用远程URL作为pull命令,但不完全是为了git repos。

损坏的dockerfile:github的部署密钥不再复制正确

下面的代码片段在一个月前工作得很好(我最后一次运行容器)。现在不是。 为什么? RUN mkdir /root/.ssh && \ mv /root/deployment_key /root/.ssh/id_rsa && cat /root/.ssh/id_rsa && \ chmod 600 /root/.ssh && \ chmod 600 /root/.ssh/id_rsa && \ ssh-keyscan github.com,$(getent hosts github.com | awk '{ print $1 }') > ~/.ssh/known_hosts 当我cat ~/.ssh/known_hosts ,公钥只有它应该的一半。 私钥在/root/.ssh/id_rsa是正确的。 下一行(私人回购的git clone )失败 Permission denied (publickey). fatal: The remote end hung up unexpectedly The […]

为.net集装箱化应用程序创build一个CIpipe道

我的目标 正如标题所说,我正在尝试为将要在Linux中的dockerized环境中运行的大量.NET服务组装一个CI(持续集成)pipe道。 我组织中的开发人员目前使用C#和VSO / TFS,所以我们试图迁移到Linux平台,同时保留我们当前团队的工具/技能。 我在各种论坛上看到很多post,但一直没有find解决我的具体需求的任何东西 – 所以如果这之前已经回答 – 我将非常感激链接! 到目前为止,我已经做了以下试图certificate我能做些什么: 用unit testing创​​build一个C#项目。 将项目检入源代码pipe理(TFS在线) 在Linux上运行Jenkins 设置Jenkins来倾听源代码控制。 当检测到新代码时,使用MSBuild插件在Jenkins节点(这是Windows机器)上启动构build 如果构build完成而没有错误,则使用MSTest插件运行与C#项目关联的所有unit testing。 所有上述似乎工作得很好 – 这是我正在努力的下一个位。 我想做的事 现在我已经完成了一个构build并在代码中进行了testing,我希望能够执行以下操作(高级别): 将源代码从Jenkins窗口节点移动到Jenkins Linux节点 在Linux节点上构buildDocker容器 将Docker容器推入存储库 我曾经尝试过 我正在Jenkins使用自由式项目来编排上述内容。 (不知道这是不是正确的select – 但似乎没有打破汗水拉/build立/testing。) 我想,为了从Windows节点到Linux节点的代码,我需要推入到一个GIT仓库。 我的要求是,这是一个本地GIT,但如果这是不可能的,我愿意在线使用私人GIT。 我尝试build立一个Gogs-GIT本地存储库,但Jenkins并没有使用同样的语言。 在任何情况下 – 我一直无法弄清楚如何使用任何Jenkins插件将代码作为从我的Windows节点发布到不同的源代码控制环境中的后构build事件,而不是从第一个地方。 我现在想,也许我需要执行某种自定义脚本(也许在Windows节点上的批处理脚本)来推入GIT,然后有一个单独的Jenkins作业,侦听推送到GIT存储库启动Linux处理。 我对Linux和Jenkins都很新,所以任何帮助或指针都会很感激。

从Heroku切换到Docker平台的Cycle.io问题

好的,我是一个全面的noob在devops,但请忍受我,我尽我所能解释我的困境。 现在我有一个Java应用程序(目前托pipe在heroku上),代码在GitHub中可见。 可见的代码不能直接部署。 有2-3个像applications.properties这样的特权文件,其中包含我们的一些其他的Auth文件等,由于明显的安全原因,这些文件不能放在GitHub上。 我们还使用Heroku的ClearDB插件提供给我们的MySQL数据库。 现在的解决方法是这些文件只存在于Heroku git remote中,并且设置为去。 无论何时我们想重新部署,我们切换到Heroku远程,从主服务器拉代码更改,并推动它自动部署。 现在,我们正在从Heroku转移到Cycle.io或Amazon Web Services 。 build立一个AWS将是相当直接的,但是Cycle.io使用docker镜像。 我在这里有几个问题。 Cycle.io为我们提供了一个部署,我没有看到任何提供的数据库的讨论。 我们从哪里得到一个数据库? 我们有什么select? Cycle.io允许我们创buildEnvironments 。 去引用 环境允许用户组织相关的容器组。 创build环境时,Cycle会自动创build一个专用networking来连接内部的容器。 这是否设置某种Linux环境,我可以设置一个MySQL数据库? 是否必须为MySQL映像设置Docker映像,并允许代码映像与其通信? 如果我们考虑为cycle.io使用Docker镜像,那么最好的工作stream程是什么? 会是这样的吗? 在我的系统上build立一个docker图像 将其推送到Docker Hub到一个私有存储库,并允许与Docker集线器集成的cycle.io从那里接收它 周期说 通过两个简单的步骤来部署容器:只需从Docker Hub或任何Git仓库中提取生产就绪的镜像,然后单击导入镜像。 我如何在GitHub上托pipeDocker镜像。 我的意思是你不应该在GitHub上托pipe文件吗? Docker Hub更有意义。 或者这是否意味着它将获取代码并将其编译为泊坞窗图像? 拥有像Heroku一样的“私人”git分支的最佳方式是什么? 我知道我想添加一个私人的远程,但我喜欢怎么做呢? 我应该让公共分支机构保持私人文件的私人保pipe箱吗?