1. ホーム
  2. git

[解決済み] 既存のgitレポをopenshiftで使用することはできますか?

2022-12-21 21:31:10

質問

git repoはopenshift上にしかないのでしょうか?私はすでにbitbucket / githubのgit repoを持っており、そこだけにプッシュしたいと思っています。単純にそれにフックして、openshiftが通知を受けるようにできますか?

または、単純化するために、私はgithubでプッシュするだけで、デプロイしたいときはopenshiftで何かをするのでしょうか?

確認したところ この を確認しましたが、混乱しました: 既存の git と新しい (openshift) git のマージについて話しているのでしょうか?

どのように解決するのですか?

まだgitを十分に使いこなせていない印象があります。OpenShiftにコードをプッシュする方法を完全に理解するために、gitに入ることをお勧めします。とはいえ、その手順を説明させてください。 一般的にgitで行うように、ここで選択するアプローチは、他のgitリポジトリ(例:bitbucket上)をローカルマシンにクローンすることです。

git clone <bitbucket-repo-url>

ローカルでクローンを作成すると、他のリポジトリ(bitbucket など)をリモートリポジトリとして使用することができます。リモートリポジトリは "origin" というエイリアスで保存されます(クローンを作成する際にgitが使用するデフォルトのエイリアスです)。そして、openshiftのレポをリモートとしてクローンに追加します。追加するリモートリポジトリのエイリアスを明示的に使用しながら行います - ここではエイリアスとして "openshift" を使用しています。

git remote add openshift -f <openshift-git-repo-url>

その後、ローカルの git リポジトリから openshift にコードをプッシュできるようにするために、まず openshift リポジトリをローカルの bitbucket clone にマージする必要があります。これはローカルで発行することで行います。

git merge openshift/master -s recursive -X ours

このコマンドは、openshift の git リポジトリにある master ブランチをローカルの git リポジトリとマージするよう git に指示します。再帰的なマージ戦略を使用してマージし、競合が発生した場合は自分の ("ours") バージョンを選択するよう指示します。

マージを実行したら、git リポジトリを openshift にプッシュする準備ができました。それを行うには、次のようにします。

git push openshift HEAD

git に、ローカルコードを "openshift" というリモートリポジトリ (openshift git リポジトリを格納したエイリアス。このパラグラフの先にあります) の HEAD ブランチにプッシュするように指示します。

btw 私は何ヶ月か前に、openshift-java-client の使い方を実演していた jboss tools blog を書きました。 https://community.jboss.org/wiki/Enable-openshift-ciFullExampleUsingOpenshift-java-client . 最後の段落の "We're almost there" に上記の手順があるのがわかると思います。