是否可以在分叉思维模式之上使用Gitflow?如果是这样,您将如何创建一个本地功能分支,将其推送到您的原点,然后提取请求呢?你会请求分支机构将其提供给其他人吗?我对Atlassian Stash的工作原理特别感兴趣.
谢谢!
我正在尝试设计遵循以下原则的新工作流程:
我们正在使用git,Stash和TeamCity.这就是我想出来的,但它们都不是完美的.我正在寻找对我的建议或新想法的调整.
工作流程1
当拉取请求被另一个开发人员批准时,它会被Stash自动合并到主线中(主线由TeamCity中的普通CI覆盖)
问题:如果存在合并冲突,Stash将不会执行合并,但直到合并到主线之后才会测试合并状态.我们不知道主线是否会发生故障.
工作流程2
当拉取请求被另一个开发人员批准时,它会被Stash自动合并到主线中(主线由TeamCity中的普通CI覆盖)
问题:测试合并状态之间的时间(20分钟 - 1天?),并且集成发生允许集成分支中的更改,这可能意味着合并状态不再起作用.整合分支破裂的机会.
工作流程3
当另一个开发人员批准并合并拉取请求时,feature/VHPC-1/review将在合并状态下自动构建和测试,并在成功时自动充当主线
问题:分支数量的两倍意味着一些额外的复杂性和工作.
工作流程4
如果自动验证通过,TeamCity将批准拉取请求.然后,人可以审查,批准并将其合并到主线中.
问题:TeamCity监视refs/pull-requests/merge,当集成分支发生变化时,这会改变,这意味着当集成分支获得一个新的更改时,将在所有打开的pull请求上触发构建.
git teamcity continuous-integration pull-request bitbucket-server
有没有办法从 Git 存储库中删除分支而不进行克隆或任何其他类型的本地副本?
基本上,我正在开发用于发布管道的仪表板,并且不想为了删除已部署的功能分支而在仪表板服务器上拥有任何工作项目的代码。
以防万一,我们使用 Atlassian Stash 而不是 Github。
我正在做类似的事情:
git branch -D ssh://git@repository.com/team/project/feature/deleteme
Run Code Online (Sandbox Code Playgroud) 我注意到一些模式,开发人员倾向于这样做 - 比如提交 javascript 测试,fdescribe或者fit留在其中(这意味着只有一个测试/套件将运行),通常在审查阶段发现,但抓住那些小事情更早。想知道如果在更改中检测到某些模式,是否有办法配置 git 以防止提交?
我注意到BitBucket Server(以前称为Stash)有一个名为"fork syncing"的功能,它允许在两个不同的存储库之间自动同步.我看待它的方式就像一个镜像存储库.
该功能的用处是什么?
为什么有人会使用它以及如何使用?
有没有人使用过 stash builder 插件。它的文档说它在构建环境中添加了一些环境变量,但是如果我回应它们,它们都是空的
echo "${sourceBranch}"
echo "${targetBranch}"
echo "${sourceRepositoryOwner}"
echo "${sourceRepositoryName}"
echo "${pullRequestId}"
echo "${destinationRepositoryOwner}"
echo "${destinationReposotryName}"
echo "${pullRequestTitle}"
echo "${sourceCommitHash}"
Run Code Online (Sandbox Code Playgroud)
这个插件对我没有任何作用。这是我的配置我选择 git 作为 SCM [poll scm is not selected]
RepositoryUrl:ssh://git@stash-eng.abc.com:7999/mytool/my_tools_demo.git
Refspec:\+refs/pull-requests/*:refs/remotes/origin/pr/*
Branch Specifier:-origin/pr/${pullRequestId}/from
Run Code Online (Sandbox Code Playgroud)
然后我标记复选框“Stash Pull Requests Builder”,下面是差异字段的值
Cron:H/2 * * * *
Stash Host:stash-eng.abc.com
Stash Credentials:..........
Project:mytool
Repository Name:my_tools_demo
Run Code Online (Sandbox Code Playgroud)
仍然什么都不做。我也没有在日志中看到任何与插件相关的东西。
我们的服务器中有一个应用程序帐户,我们为其生成了 ssh 密钥。我们需要将应用程序帐户公钥上传到我的 bit-bucket 项目中的所有存储库。我的项目中有太多的存储库,我们无法在每次生成新密钥时手动在每个存储库中上传密钥。那么我们是否有任何自动化的方法来做到这一点?
bitbucket bitbucket-api bitbucket-server bitbucket-pipelines
背景:
不久前,我公司决定托管自己的Atlassian产品,并且我们将源代码存储在我们自己托管的Bitbucket服务器上。现在我们的VM(Windows Server 2012)崩溃了,我们无法从外部访问bitbucket。
由于没有人对我们的产品进行过一段时间的开发,因此我们不确定我们在本地拥有的代码是否是最新的。
问题:
即使我们无法启动Bitbucket服务器并运行它,我们也需要获取源代码的最新版本。
我已使用远程桌面连接到服务器,但似乎找不到文件。
题
GIT仓库的默认位置是什么?除了“ git”以外,还有其他我可以搜索的文件夹可以带我到正确的位置吗?
BTW
我们正在转向托管服务...
祝一切顺利
我无法将Webhook放入bitbucket服务器来开始Jenkins工作。我已经阅读了这里的其他回答的问题,无法解决。
Bitbucket设置:
Jenkins设置:
我的工作: 我对rob-jenkins分支中的文件进行了更改,然后进行了推送,并且该作业未在Jenkins中启动。
我所看到的: 在bitbucket,回购设置,webhooks中,我可以看到推送提交后立即触发了webhook。它具有200 http状态代码,响应正文为空。
在詹金斯,我为
com.cloudbees.jenkins.plugins.BitbucketHookReceiver
com.cloudbees.jenkins.plugins.BitbucketJobProbe
com.cloudbees.jenkins.plugins.BitbucketPayloadProcessor
com.cloudbees.jenkins.plugins.BitBucketTrigger
Run Code Online (Sandbox Code Playgroud)
当我查看这些日志时,我只能从com.cloudbees.jenkins.plugins.BitbucketHookReceiver中看到1个条目
Received commit hook notification : {"eventKey":"repo:refs_changed","date":"2018-05-22T12:18:11+1000","actor":{"name":"xxxxxx","emailAddress":"xxxxxx@xxxxxx.com","id":53,"displayName":"xxxxxx","active":true,"slug":"xxxxxxx","type":"NORMAL"},"repository":{"slug":"xxxxx","id":1,"name":"xxxxx","scmId":"git","state":"AVAILABLE","statusMessage":"Available","forkable":true,"project":{"key":"SS","id":2,"name":"xxxxx","description":"xxxxxx","public":false,"type":"NORMAL"},"public":false},"changes":[{"ref":{"id":"refs/heads/rob-jenkins","displayId":"rob-jenkins","type":"BRANCH"},"refId":"refs/heads/rob-jenkins","fromHash":"1d9ad42fa404c893853094b0072e5b839f787589","toHash":"9bf7dc873f355259e4338ee80afbd246ecbb48a9","type":"UPDATE"}]}
Run Code Online (Sandbox Code Playgroud)
日志中没有其他条目。
在作业本身中,“ BitBucket挂钩日志”屏幕仅显示“轮询尚未运行”。
不知道为什么它不能触发詹金斯的工作……我想念的是什么?
由于 bitbucket 不再支持使用用户名。我们必须改为使用用户 uuid 来访问 bitbucket api。
折旧或更早
最新的
https://api.bitbucket.com/2.0/users/558050:c0b72ad0-1cb5-4018-9cdc-0cde8492c443
bitbucket-server ×10
git ×7
bitbucket ×2
pull-request ×2
git-flow ×1
git-fork ×1
jenkins ×1
rest ×1
teamcity ×1