Proxy環境下での各種設定方法 - mtnori/tips GitHub Wiki

  • Squidで立てたProxyで検証
  • SSL Bumpの設定とBASIC認証を設定した想定

Gradlew

Gladle wrapper。gradleがクライアントマシンに入っていなければ、指定されたバージョンをインストールする仕組み。

  1. JREのlib/security/cacertsを任意の場所にコピーして使う(直接使っても良いのかも)

  2. プロキシサーバの自己証明書をcacertsストアに追加する
    cacertsファイルのある場所に移動後、以下を実行
    keytool -import -file [証明書ファイル名] -trustcacerts -alias [適当な名前] -keystore cacerts -storepass changeit

  3. gradlew.bat(Linuxの場合はgradleファイル)の先頭に以下のように書く

    1. Windows
      set JAVA_OPTS=-DproxyHost=[host] -DproxyPort=[port] -Dhttp.proxyUser=[username] -Dhttp.proxyPassword=[password] -Dhttps.proxyUser=[username] -Dhttps.proxyPassword=[password] -Dhttp.nonProxyHosts=[non proxy hosts] -Djavax.net.ssl.trustStore=[証明書ストアのフルパス] -Djavax.net.ssl.trustStorePassword=[証明書ストアのパスワード(デフォルトはchangeit)]
    2. Linux
      export JAVA_OPTS="-DproxyHost=[host] -DproxyPort=[port] -Dhttp.proxyUser=[username] -Dhttp.proxyPassword=[password] -Dhttps.proxyUser=[username] -Dhttps.proxyPassword=[password] -Dhttp.nonProxyHosts=[non proxy hosts] -Djavax.net.ssl.trustStore=[証明書ストアのフルパス] -Djavax.net.ssl.trustStorePassword=[証明書ストアのパスワード(デフォルトはchangeit)]"
  4. gralew.batまたは、gradlewのset DEFAULT_JVM_OPTS=の行を以下のように編集する
    Java 8 Update 111 からBASIC認証が禁止されたのでこの対応が必要らしい
    set DEFAULT_JVM_OPTS="-Djdk.http.auth.tunneling.disabledSchemes=\"\""

  5. gradlewコマンドを実行して、gradleがダウンロードされるか確認する

  6. こんなことをしなくても、gradle-wrapper.propertiesのdistributionUrlを
    ファイルサーバのパスに書き換えればオフラインで動くのかもしれない

Gradle

RubyGems

NPM

追記

Gladlewのようなものは例外として、NpmやGemsのようなものは、
Sonatype Nexus あたりを使ってサードパーティ製ライブラリを
キャッシュさせた方が手間がかからないと思う。