Articles of github

jenkinsgithub拉请求build设者选错了提交

我正在使用插件的GitHub拉请求生成器jenkins。 然后,我build立了从GitHub的webhooks,当一个新的合并请求打开或提交时触发jenkins中的构build。 我用Jenkins DSLconfiguration了GHPRB插件: job("name") { properties { githubProjectUrl("https://github.com/org/${repo}") } scm { git { remote { name("origin") url("[email protected]:org/${repo}.git") credentials("jenkins-ssh-keyid") } branch("**") extensions { gitTagMessageExtension() } } } triggers { githubPullRequest{ admins(["github-username"]) orgWhitelist('org-name') cron("") triggerPhrase("build") extensions { commitStatus { context("unittest") } } useGitHubHooks() } } steps { shell("./run-unittests"); } } 我遇到的问题是Jenkins有时候会感到困惑,并select错误的提交方式来构build。 当发生这种情况时,jenkins输出如下所示: GitHub pull request #9 […]

自升级到Git客户端插件2.1.0以来,Jenkins无法读取Github密码

我目前在Windows 2012上使用Jenkins 1.650,并将Jenkins的testing实例(从我的生产服务器克隆)升级到2.25。 作为其中的一部分,Git客户端插件从1.19.6升级到2.1.0,现在无法进行身份validation。 如果我再次降级这个插件,我的工作就完美了,但是使用升级后的插件运行时,作业会失败。 所有的错误输出都是一样的: 08:18:40 Cloning the remote Git repository 08:18:40 Cloning repository https://github.com/mycompany/myrepo.git 08:18:40 > C:\Program Files\Git\cmd\git.exe init C:\Program Files (x86)\Jenkins\workspace\project # timeout=10 08:18:40 Fetching upstream changes from https://github.com/mycompany/myrepo.git 08:18:40 > C:\Program Files\Git\cmd\git.exe –version # timeout=10 08:18:40 using GIT_ASKPASS to set credentials 08:18:40 > C:\Program Files\Git\cmd\git.exe fetch –tags –progress https://github.com/mycompany/myrepo.git +refs/heads/*:refs/remotes/origin/* 08:18:41 […]

通过Puppet拉动git-via-ssh回购:“无法创build存储库(path上的非存储库)”

我试图通过木偶拉git(github)回购。 我已经使用了官方的vcsrepo文档,并从Fiesta 博客中获得了以下configuration: vcsrepo { "/tmp/": ensure => latest, provider => git, source => '[email protected]:tedder/helloworld.git', revision => 'master', # eventually: # revision => 'branchname' require => [ Package["git"], Sshkey["github.com"] ], identity => '/home/ubuntu/.ssh/id_rsa', } 问题是,当我运行这个,我得到以下输出。 我已经砍掉了与Package和Sshkey有关的大部分日志,因为它们看起来很好: $ sudo puppet apply –debug –verbose /etc/puppet/modules/github-deploy/manifests/init.pp [snip lots of output] debug: Puppet::Type::Package::ProviderApt: Executing '/usr/bin/dpkg-query -W –showformat '${Status} ${Package} […]

与Github Ansible:权限被拒绝(公钥)

我试图理解与Ansible的GitHub sshconfiguration(我正在Ansible:Up&Running书上工作)。 我遇到两个问题。 权限被拒绝(publickey) – 当我第一次运行ansible-playbook mezzanine.yml剧本时,我被拒绝了一个权限: failed: [web] => {"cmd": "/usr/bin/git ls-remote '' -h refs/heads/HEAD", "failed": true, "rc": 128} stderr: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. msg: Permission denied (publickey). fatal: Could not read from remote repository. […]

使用Git挂钩来拉取请求或提交或推/拉之后自动格式化代码?

比方说,你有一个Git仓库,就像在GitHub上一样,而且你有很多人为仓库做出贡献。 每个人都使用他们自己的标准进行编码,所以代码最终会变成一团糟,没有任何标准应用。 我已经读了一些关于git钩子,但我不完全理解他们的概念或主要用途。 是否有可能使用钩子,当一个拉请求被发送到你的仓库,发送代码到一些远程服务,然后将代码格式化成任何你想使用的XYZ标准,然后将格式化的代码返回到回购或进入拉请求? 还是不是这样工作?

如何使用git和github在dev服务器上设置多个用户

我正在研究灯的应用 我们有2台服务器(Debian)Live和Dev。 我不断致力于开发主要添加新function和修复错误。 当快乐的一切运作良好时,我将相关的代码提交给Live系统。 数据库(mysql)是每台机器本地的。 现在这是非常基本的设置,我想改进一下工作stream程。 我使用git和github进行版本控制。 无可否认,我只使用了一个分支。 他们可以是3个不同的开发人员,他们在不同的时间处理代码。 我们都使用相同的linux用户名连接到dev服务器,并在需要时直接编辑代码。 然后,我通常会在一天结束时将代码提交给github。 要记住的一件事是在本地机器上运行这个代码并不容易,因为有许多apache和子域configuration不能在本地机器上工作,所以在本地机器上工作在dev服务器上是非常重要的。 我需要创build一个新的进程,因为我们现在需要一个主干和一个重写大代码的分支。 做这个的最好方式是什么。 是否应该为每个开发人员创build不同的unixlogin名,并在dev服务器上设置不同的工作区域以进行更改? 例如 / var / www / mysite_derek / var / www / mysite_paul / var / www / mysite_mike 我的想法是,他们可以从主分支拉,然后创build自己的分支,并将其合并回来。我不知道这将如何工作,虽然在本地git和git。 我需要创build不同的github用户帐户。 我想这样做是为了有很多潜在开发者的“正确”方式和未来的certificate,但我也不想过于复杂。 我简单而优雅的解决scheme是首选。 任何build议或build议?

从bash中的GitHub url中提取存储库名称

鉴于任何GitHub仓库urlstring像: git://github.com/some-user/my-repo.git 要么 [email protected]:some-user/my-repo.git 要么 https://github.com/some-user/my-repo.git bash从以下任何string中提取存储库名称my-repo的最佳方法是什么? 该解决scheme必须适用于上面指定的所有types的url。 谢谢。

Fabric可以用于从GitHub自动部署吗?

每次将代码推送到GitHub时,我可以使用Fabric自动在服务器上部署应用程序吗? (GitHub可以在每次推送时都发送到URL。) 如果是这样,怎么样?

自动缩放EC2服务器和更新代码

我们已经到了需要为我们的Web服务器设置自动缩放的点,我不确定如何去扩展服务器和更新现有代码,而不重新创buildAMI并将自动缩放configuration更改为使用它。 我已经读了一些关于人们捆绑新代码并将其上传到s3并让新服务器在启动时抓取捆绑包的方法,但这似乎并不令人愉快。 目前,该应用程序的文件生活在一个git仓库中,当我们更新代码时,我们把它推到github上,ssh进入web应用程序并运行一个钩子来取消最新的代码。 所以我在想,另一个select可能是在每小时或每天的cron任务上运行该钩子。 不幸的是,这并不包括所有types的更新(例如新的博客文章的图像,而不包括在git仓库中),但这是一些东西。 任何人都可以提供一些常见解决scheme的build议,或者为什么我提出的解决scheme是一个坏主意? 谢谢大家

从多台PC使用相同的github帐户

我有我的github帐户,我想从我的两个工作站,Ubuntu工作站和Windows访问它。 我是SSH和git的初学者,我按照所有说明在我的ubuntu笔记本电脑上用SSH密钥设置我的帐户,一切正常,但现在如果我想从我的Windows笔记本电脑使用我的git帐户,我需要生成另一个SSH密钥,或者我可以使用从我的Ubuntu笔记本电脑生成的一个? 也许我需要从我的Windows笔记本电脑生成另一个SSH密钥,然后注册我的github帐户以及我从我的ubuntu笔记本电脑生成的一个帐户,并从各自的机器使用每一个? 什么是最好的办法? 有最佳做法吗? 如果我可以在两者上使用相同的SSH密钥,如何导入我已经在另一台机器上使用的密钥?