Git
This page describes how to configure Bamboo to use a Git repository.
Bamboo では、次のレベルでリポジトリを指定できます。
- グローバル - Bamboo のすべてのプランでリポジトリを利用できます。
- プラン - Bamboo プランのすべてのジョブでリポジトリを利用できます。
- ジョブ - Bamboo ジョブのすべてのタスクでリポジトリを利用できます。
推奨されるアプローチは、リンクされたソース リポジトリをグローバル レベルで設定することです。「ソース コード リポジトリへのリンク」を参照してください。
You need to have previously defined a Git capability before you can configure a Git source repository – see Defining a new version control capability.
Bamboo には独自の Git 実装が組み込まれていることに注意してください。ただし、シンボリック リンク、サブモジュール、自動ブランチ検出、自動マージを使用するには、ネイティブ Git を使用する必要があります。これらは組み込みの Git ではサポートされていません。
Git は次の場所からダウンロードできます。
Git ソース リポジトリを設定する
- リンクされたリポジトリ、プラン、またはジョブのポジトリ設定に移動します。「ソース コード リポジトリへのリンク」を参照してください。
- Either select Add repository to add a new repository, or edit an existing repository configuration.
- Select Git from the Source repository list.
- Enter a Name to help identify the repository in Bamboo.
- プランの Git ソース リポジトリ用に次の設定を指定できます。
リポジトリ URL
The full path to your Git repository (eg: https://bitbucket.org/atlassian/bamboo-git-plugin.git )
有効な URL の形式は次のとおりです。
- git://host.xz[:port]/path/to/repo.git
- ssh://[user@]host.xz[:port]/path/to/repo.git
- [user@]host.xz[:port]/path/to/repo.git
- http[s]://host.xz[:port]/path/to/repo.git
- /path/to/repo.git
- file:///path/to/repo.git
ブランチ
Type the name of the relevant branch (or tag) you want to work on. Leave empty to work on the master
branch.
Authentication type
- None – choose if you want to access the repository anonymously.
- Personal access token - use personal access token to authenticate with Git API; to learn how to create such token in Git, see the GitHub documentation.
- SSH private key – use shared credentials or upload an SSH key and provide the SSH passphrase.
Use shallow clones (shallow clone を使用する)
Bamboo で shallow clone を実行できるようにします (つまり、履歴は指定のリビジョン数に切り捨てられます)。これにより、最初のコード チェックアウトの速度が向上するはずですが、ビルドがリポジトリ全体の履歴に依存している場合は、このオプションを使用しないことをお勧めします。shallow clone は既定で有効になっています。
POM ファイルの場所
(上記で定義した) Git の [Repository URL (リポジトリ URL)] のルートを基準にしたプロジェクトの pom.xml
ファイルのパスです。
(Maven 2 プロジェクトをインポートする場合にのみ利用可能)
Git LFS
- Git version 1.8.2 or later installed locally in your environment.
Git LFS 1.2 or later installed.
Bamboo 5.15 is shipped with different images which also include the Git LFS client.
詳細オプション
Use submodules
Select to enable submodules support if these are defined for the repository. If native Git capability is not defined for agent submodules support will be disabled.
Command timeout
This is useful to stop hung Bitbucket processes. On slower networks, you may consider increasing the default timeout to allow Bamboo time to make an initial clone of the Git repository.
Verbose logs
Turns on more verbose logs from Git commands. Use this option if you encounter problems with Git in Bamboo.
Enable quiet period
Specifies a delay after a single commit is detected before the build is started. This allows multiple commits to be aggregated into a single build.
Include/Exclude files
Allows you to specify the files that Bamboo should, or should not, use to detect changes. When you configure the Include option, it means that you want Bamboo to use only the mentioned files for change detection because by default Bamboo checks all the files. The same way, if you configure the Exclude option, Bamboo will not consider the excluded files for detecting changes.
Enter into File pattern a regular expression to match the files that Bamboo includes or excludes. The regex pattern must match the file path in the repository. See sub page for examples.
Exclude changesets
Enter a regular expression to match the commit messages for changesets that should not start a build.
Git LFS
- Git version 1.8.2 or later installed locally in your environment.
Git LFS 1.2 or later installed.
Bamboo 5.15 is shipped with Git LFS client image.
Web repository
Web ブラウザでリポジトリを表示できる場合は、リポジトリの種類を選択します。
This allows links to relevant files to be displayed in the Code changes section of a build result.
Stash – specify the following details for the repository:
- Stash URL – the URL of your Stash ( now Bitbucket Server) instance (e.g. ' https://bitbucket.mycompany.com ').
- Stash プロジェクト キー - Stash 内のプロジェクトのキー (例:「CONF」)。
Repository Name – the name of the repository in Stash (e.g. 'conf-dev').
See Integrating Bamboo with Bitbucket Server for more information.
Fisheye – specify the URL and other details for the repository:
- Fisheye URL — the URL of your Fisheye repository (e.g. '
https://atlaseye.atlassian.com/
'). - Repository name — the name of your Fisheye repository (e.g. '
Bamboo
'). This is effectively the alias for your repository path. - Repository path — the path for your Fisheye repository (e.g. '
/atlassian/bamboo/
').
- Fisheye URL — the URL of your Fisheye repository (e.g. '
See Integrating Bamboo with Fisheye for more information.
リポジトリのパスを特定する方法
If you have previously run builds with changes from your repository, the easiest way of determining your repository path is to view the code changes and copy the path from the start of the path of one of the changed files, up to (but not including) the appropriate root directory. The root directories for repositories are the ones shown by Fisheye when browsing a repository (e.g. trunk
)). For example, if a code change listed /atlassian/bamboo/trunk/bamboo-acceptance-test/pom.xml
, the path would be /atlassian/bamboo/
.
If you have not previously run builds with changes from your repository, you will need to ask your Fisheye administrator for the repository path indexed by Fisheye.
Hiding password for https Git tasks
Starting from Bamboo 6.4, you Git username and password will be stored in a URL kept in turn in a temporary file which will be deleted This way only Bamboo will have access to your Git credentials preventing other users on the same machine from viewing your data.
If you're using Git Credential Manager for Windows, Gut might ask you for your credentials not at the bash but in the Credential Manager. Because it's operating on your server or agent, you won't be able to see the see the Credential Manager display.
For more information about storing credentials in Git, see Git Tools Credential Storage.