web-dev-qa-db-ja.com

プライベートgitサーバー(SSH)を使用してbowerパッケージをインストールする方法は?

[〜#〜] edit [〜#〜]この男はまったく同じように成功します 、理解できませんなぜそれが私のために働いていないのかを調べてください。

gitをインストールし、公開鍵/秘密鍵で許可/ SSH認証をセットアップしました(Centos 6.5)。私は問題なく使用してプル/プッシュすることができます:

git clone [email protected]:projects/boilerplate-template

ユーザー名はgit、コードは/home/git/projectsに配置され、リポジトリはgit --init --shared boilerplate-templateで作成されます。

別のプロジェクトでBowerにboilerplate-templateを要求するにはどうすればよいですか?

次のbower.jsonファイルを試してみましたが、うまくいきません。

{
    "name": "my/newproject",
    "dependencies": {
        "boilerplate-template": "git://code.organization.com:projects/boilerplate-template"
    }
}

[〜#〜] ecmderr [〜#〜]:「git ls-remote --tags --heads git:// codeの実行に失敗しました。 organization.com:projects/boilerplate-template、exit code 128はcode.organization.com(ポートプロジェクト)を検索できません...

悲しいことに、:projectはポートではなくパスなので失敗します。 ssh://の代わりにgit://でも試しました:

[〜#〜] enotfound [〜#〜]:パッケージssh://code.organization.com:projects/boilerplate-templateが見つかりません。

53
gremo

OK、ここで解決策を見つけました: 内部のプライベートライブラリのパッケージ管理ツールとしてBowerを使用git://またはssh://を削除して、.gitサフィックスを追加するだけです。

"[email protected]:projects/boilerplate-template.git#~1"
64
gremo

また、プライベートリポジトリにGithubとBowerを使用している場合、リモートサーバーで.netrcを実行する必要がある場合は、bower installファイルを作成できます。

例えばDOドロップレットがあり、sshキーを使用するgitリポジトリをチェックアウトする必要がありますが、bower installをプライベートなdepで実行する必要があります。 .netrcファイルをリモートマシンに追加する場合、deploys/buildsに行くとよいでしょう。

// .netrc where someToken is generated in Github under Personal access token
machine github.com
    login userName
    password someToken
11
Scott Sword

bower login作業中なので、このアプローチを採用しました。 <TOKEN>が生成されます ここ 。 Githubでホストされているプラ​​イベートリポジトリで機能します。

"dependencies": {
    "your-package": "https://<TOKEN>:[email protected]/Account/Repository.git"
}
9
Dehli

GitHubからプライベートリポジトリをダウンロードしようとしたときに、TeamCityがこの問題を抱えていました。これが誰かに役立つ場合、SSHを使用して解決し、 GitHub Personal Access Token を実行して解決しましたbower loginbower install

Bower.jsonの依存関係の例:

"repository": "[email protected]:Account/Repository.git"

ビルドスクリプト内で実行するコマンド:

bower login -t {GitHub Personal Access Token}
bower install
5
embee

https://github.com/settings/tokens に進み、トークンを生成します

bower login -t {your token} 

bower install
3
silverbull

プライベートgithubリポジトリでのみ動作しますが、私はフォローで終了しました。

  1. Githubアクセストークンを生成します ここ および環境変数GITHUB_TOKENとして設定します

  2. .bowerrcで短縮レゾルバを定義します:

    "shorthand_resolver": "https://${GITHUB_TOKEN}@github.com/{{owner}}/{{package}}.git"
    
  3. これで、依存関係をbower install me/my-private-packageとして追加するか、bower.jsonにリストできます。

    "dependencies": {
        "my-private-package": "me/my-private-package"
    }
    

Herokuビルドでも機能します。

1
Michal Moravcik

他の人が述べたように、パッケージの場所を次のように設定します。

"[email protected]:projects/yourproject.git"

Bowerがgitリポジトリからプルできるようにします。

WindowsでSSHの問題が発生した場合は、次の手順を実行できます。

  1. PuTTYツールをダウンロードする
  2. PuttyGenを使用して、新しいキーを生成します。
  3. 秘密キーをanything.ppkとしてユーザーの.sshフォルダーに保存します
  4. PuTTY genのssh-rsaで始まるテキストをクリップボードにコピーします
  5. Githubに移動し、Settings -> SSH keys -> Add SSH keyにキーにタイトルを付け、PuttyGenからキー部分にテキストを貼り付けます
  6. GIT_SSHという名前の環境変数を、値がPuTTYツールPLINK.exeへのパスとなるように追加します。 C:\Program Files\PuTTY\PLINK.exe
  7. PuTTYツール「Pageant.exe」を実行し、anything.ppkキーをページェントに追加します(C:\pathtopageant\pageant.exe C:\Users\myuser\.ssh\anything.ppkを使用してスタートアップフォルダーにショートカットを追加し、スタートアップ時にキーをページェントに自動的に追加できます)
  8. PuTTY.exe自体を開き、github entepriseホスト名(上記の例ではcode.organization.com)を入力するか、ホスト名テキストボックスに「github.com」を入力して、「開く」をクリックします。おそらくホストを信頼するように求められますが、bowerは初回実行時にこれを行うことができず、ハングしただけなので、yesをクリックしてknown_hostsファイルに追加します。
  9. 最後にbower installを実行します!
1
James Hulse

プライベートリポジトリからもクローンを作成している場合にも、この問題に直面する可能性があります。受け入れられた答えは正しいですが、私はこの懸念を明確にしたいと思います:

  1. マシンにgithub SSHでアクセスできる場合は、gitリポジトリに移動して「SSHでクローン」リンクをコピーし、bower.jsonファイル内に配置します。

  2. マシンにgithubのhttps(ログイン認証)が設定されている場合は、「httpsでクローン」リンクをコピーして、bower.jsonファイル内に配置します。倉庫

例:SSHリンク:[email protected]:Account/Repository.git HTTPSリンク: https://github.com/Account/Repository.git

Bower.jsonファイル:

「依存関係」:{
「リポジトリ」:「ここにSSH/HTTPSクローン行を貼り付けます」
}
1
Bamieh