Casual Developers Note

エンジニアやデザイナー向けの技術情報・英語学習情報・海外留学情報・海外旅行情報を提供中。世界を旅して人生を楽しもう。

  • ホーム
  • 技術 Tips & Tutorials
  • 技術塾
  • ライフハック
  • 海外留学
  • 英語学習
  • コラム
  • お問い合わせ
現在の場所:ホーム / アーカイブgithub

2019年2月18日 By KD コメントを書く

NPMモジュール内で依存しているモジュールを自動的にアップデートする方法(Greenkeeper編)

NPMモジュール内で依存しているモジュールを自動的にアップデートする方法(Greenkeeper編)

NPMモジュール内で依存しているモジュールのバージョンが古くなった場合に、Greenkeeperを使って自動的にモジュールのバージョンをアップデートする方法を紹介します。

はじめに

NPMモジュールを作成して公開してしばらくすると、以下のように依存しているモジュールが古くなっていきます。

NewImage

これを毎回手動でアップデートしていくのは手間ですが、セキュリティ面などのバグフィックスもあるのでアップデートは可能な限り行いたいことでしょう。

そこで、自動的に古くなっている依存しているパッケージを検出し、アップデートするためのプルリクエストを送ってくれるのがGreenkeeperというサービスです。しかもパブリックリポジトリであれば無料です。

NewImage

それではGreenkeeperをNPMモジュールのリポジトリに導入していきましょう。

Greenkeeperの導入方法

GreenkeeperとGitHubを連携する

まずは「Greenkeeper」のページに行き、「YOUR ACCOUNT」をクリックします。

NewImage

「Login with GitHub」をクリックします。

NewImage

「Authorize greenkeeper」をクリックします。

NewImage

パスワードを入力して「Confirm password」をクリックします。

NewImage

GreenkeeperのページにGitHubのアカウントが表示されます。

NewImage

これで連携が完了しました。

リポジトリを登録する

次に、対象のNPMモジュールのリポジトリをGreenkeeperに登録します。Greenkeeperのページからアカウントをクリックします。

NewImage

「Repositories」タブで「Greenkeeper installation page on GitHub」をクリックします。

NewImage

全てのリポジトリを登録することもできますが、今回はリポジトリを選択して登録します。「Only select repositories」にチェックを入れ、「Select repositories」からリポジトリを選択し、「Install」をクリックします。

NewImage

ダッシュボードにリポジトリ名が表示されます。

NewImage

これでリポジトリの登録が完了しました。

古くなったモジュールをアップデートする

依存しているモジュールが古くなるとGreenkeeperが検出して、以下のように「Update dependencies to enable Greenkeeper」のプルリクエストが自動的に発行されます。(今回は最初なのでGreenkeeperを初期化するためのプルリクエストも含まれています)

NewImage

通常のGitHubのフロー通りに「Merge pull request」をクリックします。

NewImage

すると、マージされます。

NewImage

Geenkeeperのプルリクエストをマージすると、Geenkeeperのページのリポジトリのステータスが「Enabled」になります。

NewImage

これで古くなったモジュールがアップデートされました。

最後に

いかがでしたか?これで自作のNPMモジュールで依存しているモジュールが古くなっても自動的にプルリクエストが発行されるようになりました。便利ですね。

カテゴリ : 技術 Tips & Tutorials タグ : github, greenkeeper, npm

2019年1月21日 By KD コメントを書く

IntelliJ IDEAの設定を複数のPCで同期する方法

IntelliJ IDEAの設定を複数のPCで同期する方法

IntelliJ IDEAの設定は複雑であるため、新しいPC上などで同じ設定をもう一度実行することは骨が折れます。今回は、IntelliJ IDEAの設定を同期することで自動で設定を反映する方法を紹介します。

はじめに

IntelliJ IDEAはJavaやPythonの開発で人気のIDEです。おそらくIDEの中では断トツの使いやすさを誇り、特にJavaエンジニアにとっては必需品です。一昔前はEclipseで頑張る時代もありましたが、今はKotlinの人気が後押しをして、IntelliJ IDEAがJVM系の言語の開発ではデファクトスタンダードになっています。

ただ、IntelliJ IDEAに限らずIDEには特有の欠点があります。それは、設定する項目が多く、自分が一度した最適な設定を別のPC上で再現することが大変だということです。しかし、解決策はあります。それが、今回紹介する設定を同期する方法です。

それではIntelliJ IDEAの設定の同期方法を見ていきましょう。

自分の設定を複数の自分のPCで同期する場合(IDE Settings Syncによる同期)

まずは、一番ベーシックな自分のオリジナル設定を自分の他のPCに同期する場合です。

Settings Repositoryを無効化する

「IDE Settings Sync」を使う場合は「Settings Repository」を無効化する必要があります。

「IntelliJ IDEA -> Preferences…」をクリックします。

NewImage

「Plugins」を選択し、「Settings Repository」のチェックをはずし、「Apply」をクリックします。

NewImage

IDE Settings Syncで同期する

「File -> Sync Settings to JetBrains Account…」をクリックします。

NewImage

「Get Settings from Account」をクリックします。

NewImage

あとは「Restart」をクリックして再起動すれば同期されます。

NewImage

ある設定を複数人のPCで同期する場合(Settings Repositoryによる同期)

次は、開発チームで同じ設定を共有して使う場合です。

Settings Repositoryを有効化する

先程無効化した「Settings Repository」プラグインを有効化します。デフォルトでは有効になっています。

IntelliJ IDEAの設定を保存するためのGitHubリポジトリを作る

GitHubで適当な空リポジトリを作成します。そして、IntelliJが自動で設定を登録するためにGitHubのAPIキーを作成しておきます。

Settings Repositoryで設定をGitHubに登録する

設定されている方のPCのIntelliJ IDEAから、「File」->「Settings Repository…」をクリックし、GitHubの対象のリポジトリ名を入力し、「Overwrite Remote」をクリックします。この際にGitHubのAPIトークンを入力します。すると、自動的に設定が対象のリポジトリにPushされます。

Settings Repositoryで設定をGitHubからインポートする

新しく設定するPCのIntelliJ IDEAから、「File」->「Settings Repository…」をクリックし、GitHubの対象のリポジトリ名を入力し、「Overwrite Local」をクリックします。すると、自動的に対象のリポジトリに登録されている設定が読み込まれます。

「IDE Settings Sync」プラグインおよび「Settings Repository」の詳細は公式ドキュメントを参照してください。

最後に

いかがでしたか?これで複数のPCのIntelliJ IDEAを設定することになっても、簡単に設定を同期できるようになったことでしょう。それでは。

環境

  • IntelliJ IDEA: 2018.3 (IU-183.4284.148)

カテゴリ : 技術 Tips & Tutorials タグ : github, intellij-idea, settings, sync

2019年1月14日 By KD コメントを書く

爆速でJenkinsをマスターしよう(GitHubアカウント統合編) ~ JenkinsのGitHub Organizationの設定方法 ~

爆速でJenkinsをマスターしよう(GitHubアカウント統合編) ~ JenkinsのGitHub Organizationの設定方法 ~

GitHubのリポジトリを手動で一つ一つ追加していくより、GitHubのアカウントをJenkinsと統合して、Jenkinsから自動でリポジトリを追加してくれると便利です。今回はそれを実現するJenkinsのGitHub
Organizationの設定方法を紹介します。

はじめに

個人や小さい組織で個別にJenkinsを使う場合は新しいプロジェクトが立ち上がるたびに新しいリポジトリをJenkinsに登録しても大した手間ではないかもしれません。しかし、ある程度大きな組織や個人や小さい組織であっても新しいプロジェクトを量産するような場合、Jenkinsへの手動のリポジトリ追加は負担になります。この問題を解決するには、GitHubのアカウントをJenkinsと統合し、新しいリポジトリができたタイミングで自動的にJenkinsがそのリポジトリを追加する仕組みを作ることが必要です。そして、その方法はJenkinsではGitHub Organizatoinとしてすでにあります。

今回は、新しいプロジェクトをどんどん立ち上げる活発な人や組織向けに、GitHubアカウントとJenkinsの統合機能「GitHub Organization」の設定方法を紹介します。

前提

以下の準備が完了している必要があります。

  • Jenkinsが構築済みであること
  • Jenkins内でDockerが実行可能であること
  • GitHubのアカウントがあること

GitHubのAPIトークンの発行

まずは、GitHubと連携するためにGitHubのAPIトークンをJenkins用に作成しましょう。

自分のGitHubページに行き、「Settings」をクリックします。

NewImage

「Developer settings」をクリックします。

NewImage

「Personal access tokens」をクリックし、「Token description」に任意の名前(今回は「jenkins」)を入力し、「Select scopes」の「repo」を選択します。

NewImage

「Generate token」をクリックします。

NewImage

これでAPIトークンが発行されました。

NewImage

このGitHubのAPIトークンをJenkinsに設定するので、メモしておきましょう。

JenkinsのGitHub Organizationの設定

それでは、Jenkinsの設定をしましょう。

GitHub統合用のプラグインを入れる

Jenkinsに「GitHub Branch Source Plugin」というプラグインをインストールする必要があります。

「Jenkinsの管理」から「プラグインの管理」をクリックします。

NewImage

「インストール済み」に対象のプラグインが入っていればOKです。(Jenkinsセットアップ時に推奨インストールをすると自動的に入ります)

NewImage

GitHub用の認証情報の追加

ホーム画面から「認証情報」をクリックし、「Jenkins」をクリックします。

NewImage

「Add credentials」をクリックします。

NewImage

「種類」に「ユーザー名とパスワード」を選択し、以下の情報を入力し、「保存」をクリックします。

  • ユーザー名: GitHubのアカウント名
  • パスワード: GitHubのAPIトークン
  • ID: 任意(今回は「github-credentials」)

NewImage

新しい認証情報が追加されていればOKです。

NewImage

JenkinsとGitHubの統合

ホーム画面から「新規ジョブ作成」をクリックします。

ジョブ名に統合するGitHubアカウントのアカウント名を入力し、「GitHub Organization」を選択し、「OK」をクリックします。

NewImage

「Projects」に以下の情報を入力し、「保存」をクリックします。

  • Credentials: 先程作成した認証情報(github-credentials)
  • Owner: 統合するGitHubアカウントのアカウント名(手順通りにやっていれば自動的に入っている)
  • Script Path: Jenkisfileのパス(今回はプロジェクトフォルダ直下に配置するので、「Jenkinsfile」のまま)

NewImage

すると、統合したGitHubアカウントのリポジトリのスキャンを自動的に開始します。(「Script Path」に設定したパスに「Jenkinsfile」があるリポジトリをスキャンします)

NewImage

しばらくするとスキャンが完了します。

NewImage

今回は2つのリポジトリが自動的にJenkinsに追加されました。試しに「devops_sample_nodejs」をクリックしてみます。

NewImage

「ビルド実行」をクリックしてビルドを実行してみます。

NewImage

「master」ブランチをクリックします。

NewImage

ビルドの状況が確認できます。

NewImage

GitHubアカウントのページに戻ります。GitHubアカウント内でスキャンされたリポジトリ全てのビルド状況が確認できます。

NewImage

これで完了です。

最後に

いかがでしたか?これでGitHubアカウントに新しいリポジトリを追加した時に自動的にJenkinsでビルドできうようになりましたね。継続的インテグレーションをGitHubのリポジトリにどんどん適用していきましょう。それでは。

環境

  • Jenkins: 2.151

カテゴリ : 技術 Tips & Tutorials タグ : github, jenkins, jenkins-github-organization

  • 1
  • 2
  • 次のページ »

ブログ更新情報や海外の関連情報などを配信する無料メルマガ

Sponsored Links

About Author

KD

世界を旅し日本を愛するエンジニア。大学でコンピュータサイエンスの楽しさを学び、日本の大手IT企業で働く中で、新しい技術やスケールするビジネスが北米にある事に気づく。世界に挑戦するための最大の壁が英語であったため、フィリピン留学およびカナダ留学を経て英語を上達させた。現在は日本在住でエンジニアとして働きつつ、次の挑戦に備えて世界の動向を注視している。挑戦に終わりはない。このブログでは、エンジニアやデザイナー向けの技術情報から、海外に留学したい人向けの留学情報、海外に興味がある人向けの海外旅行情報など、有益な情報を提供しています。

https://casualdevelopers.com/

最近の投稿

  • 2020年JS周辺のバックエンド寄りの注目技術!ネクストNodeJSの「Deno」と分散型パッケージレジストリの「Entropic」の紹介

    2020年JS周辺のバックエンド寄りの注目技術!ネクストNodeJSの「Deno」と分散型パッケージレジストリの「Entropic」の紹介

    2020年1月13日
  • 今さら聞けないJavaによる関数型プログラミング入門 ~ラムダ式、ストリーム、関数型インターフェース~

    今さら聞けないJavaによる関数型プログラミング入門 ~ラムダ式、ストリーム、関数型インターフェース~

    2019年11月4日
  • ReactのためのEslintおよびPrettierの設定方法 ~Airbnb JavaScript Style Guideの適用~

    ReactのためのEslintおよびPrettierの設定方法 ~Airbnb JavaScript Style Guideの適用~

    2019年10月30日
  • BashからZshに移行する方法(Mac編)

    BashからZshに移行する方法(Mac編)

    2019年10月21日
  • Create React Appを使わないでゼロからReactの開発環境を構築する方法(Webpack/Docker編)

    Create React Appを使わないでゼロからReactの開発環境を構築する方法(Webpack/Docker編)

    2019年9月30日

カテゴリ

  • 技術 Tips & Tutorials (100)
  • 技術塾 (6)
  • ライフハック (26)
  • 海外留学 (12)
  • 英語学習 (3)
  • コラム (6)

アーカイブ

最高の学習のために

人気記事ランキング

  • MySQLで「ERROR 2003 (HY000): Can't connect to MySQL server」と怒られた時の対処法
    MySQLで「ERROR 2003 (HY000): Can't connect to MySQL server」と怒られた時の対処法
  • SAKURAのメールボックスで独自ドメインのメールを設定し、Gmail経由で送受信する方法
    SAKURAのメールボックスで独自ドメインのメールを設定し、Gmail経由で送受信する方法
  • Jupyter Notebookで「The kernel appears to have died. It will restart automatically.」というエラーが出た場合の原因と対処法
    Jupyter Notebookで「The kernel appears to have died. It will restart automatically.」というエラーが出た場合の原因と対処法
  • Expressで「Cannot set headers after they are sent to the client」と怒られた時の対処法
    Expressで「Cannot set headers after they are sent to the client」と怒られた時の対処法
  • SLF4JとLogbackによるJavaのロギング入門(SLF4J + Logback + Lombok)
    SLF4JとLogbackによるJavaのロギング入門(SLF4J + Logback + Lombok)
  • Amazon EC2インスタンスにSSHできなくなった時の対処法
    Amazon EC2インスタンスにSSHできなくなった時の対処法
  • SpringBootのProfile毎にプロパティを使い分ける3つの方法
    SpringBootのProfile毎にプロパティを使い分ける3つの方法
  • [tips][perl] Perlで文字コードをいい感じに処理する方法
    [tips][perl] Perlで文字コードをいい感じに処理する方法
  • 爆速でJenkinsをマスターしよう(GitHubアカウント統合編) ~ JenkinsのGitHub Organizationの設定方法 ~
    爆速でJenkinsをマスターしよう(GitHubアカウント統合編) ~ JenkinsのGitHub Organizationの設定方法 ~
  • Go言語のためのVisual Studio Codeの設定方法
    Go言語のためのVisual Studio Codeの設定方法

Bitcoin寄付 / BTC Donation

Bitcoinを寄付しよう

BTC
Select Payment Method
Personal Info

Donation Total: BTC 0.0010

このブログの運営のためにBitcoinでの寄付を募集しています。お気持ち程度の寄付を頂けると管理者の励みになります。

Bitcoin寄付について知りたい方はこちらの記事へ

ビットコイン取引ならここ

  • ホーム
  • 技術 Tips & Tutorials
  • 技術塾
  • ライフハック
  • 海外留学
  • 英語学習
  • コラム
  • サイトマップ
  • タグ一覧
  • プライバシーポリシー
  • お問い合わせ

Copyright © 2023 KD - Casual Developers Notes