おそらく非常に基本的な質問です。しかし、複数のリソースを読んだ後でも、私は確信が持てませんでした。
SVNでは、dev_branchというブランチから dev_tagというタグを作成していました。また、dev_tagをcheckout_dirにチェックアウトし、Mavenビルドを実行する必要があります。
SVN-これは私が以前にしたこと です
~ -> svn copy -m svn+ssh://<repo>/branches/dev_branch/ svn+ssh://<repo>/tags/dev_tag/
~ -> svn co svn+ssh://<repo>/tags/dev_tag/ checkout_dir
~ -> cd checkout_dir
~/checkour_dir -> mvn clean package
GIT-方法は?
Gitで上記を行う方法は?これが私のgitの外観です。
~ -> git branch -l
dev_branch
* master
言い換え: 同意しました。タグを作成するだけです。私の質問は、
「gitリポジトリにマスターブランチ(prodデプロイメント用)とdevブランチ(QAデプロイメント用)がそれぞれ異なる変更を含む場合、次に、現在のブランチをマスターとして「gittagmytag」と入力してタグを作成するとします。ここでQAに、mvnビルドを実行できるdevブランチコンテンツのみをチェックアウトするコマンドを指定する必要があります。同じタグを使用して、ビルドしてprodデプロイメントに使用できるマスターブランチコンテンツをチェックアウトできるはずです。 。」
最後に、これは私が特定のブランチのGitタグを作成し、同じもののtarを作成するために行ったことです。これは、qaコードとprodコードを別々に作成するのに役立ちます。
QA_BUILD
git clone -b dev_branch gitserve:repo.git qa
cd qa
tag -a qa_tag
git commit -a
git push --tags
git archive --format=tar --remote=gitserve:repo.git tags/qa_tag > /tmp/qabuild/qa.tar
cd /tmp/qabuild
tar -xvf qa.tar
mvn clean package
PROD_BUILD
git clone -b master gitserve:repo.git prod
cd prod
tag -a prod_tag
git commit -a
git push --tags
git archive --format=tar --remote=gitserve:repo.git tags/prod_tag > /tmp/prodbuild/prod.tar
cd /tmp/prodbuild
tar -xvf prod.tar
mvn clean package