コンテンツへスキップ

Jetson Nano Ubunts へ Jenkins 向け ユーザー作成 (GitHub連携も)

前提条件

JetsonにJenkins向けユーザー作成

別にセットアップされた、Jenkinsシステムより、NVIDIA Jetson Nanoを管理対象と資するために、Jetson NanoにJenkinsから操作する用のユーザーを作成します。

  1. Jetson Nanoに新規ユーザー作成
  2. Jenkins向けユーザーのsudoコマンド設定 パスワード
  3. Jenkins向けユーザーでのGitHubからのPull設定

1. Jenkins向けユーザーを作成

NVIDIA Jetson NanoにJenkinsユーザーを作成します。

$ sudo useradd -m -s /bin/bash jenkins
$ sudo passwd jenkins
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

2. Jenkins向けユーザーのSudoコマンド設定

Jenkinsユーザーで、各種スクリプトを実行するので、sudoが簡単に実行出来るように設定します。
※ 全体的にパスワードなしでのsudoを許可しているので、利用するコマンドごとの設定や、各種設定ファイルのアクセス権などを環境に合わせて設定し、セキュリティ対策を行って下さい。

$ cd /etc/sudoers.d/
$ sudo vi jenkins

作成するjenkinsファイルへの記載内容

Defaults:jenkins !requiretty
jenkins ALL=(ALL) NOPASSWD:ALL

3. Jenkins向けユーザーでのGitHubからのPull設定

Jenkinsを利用して、Githubに新しいソースコードがコミットされた際に、Githubより新規ソースコードの通知をトリガーとして、Jenkinsのタスクを実行させます。

Githubへの新規コミットをトリガーに、ジャンケンシステムを構成するメインのIntel NUC Ubuntuサーバー、Raspberry Pi、NVIDIA Jetson Nanoに最新のソースコードが自動的にデプロイ(Pull)される環境を構築しました。
デプロイ前に、簡単なテストなども自動化することが出来ます。

設定には、Jenkinsユーザー向けのSSHキーをNVIDIA Jetson Nanoで作成し、作成したSSHキーをGithubに登録します。GithubにSSHキーが登録出来たら、NVIDIA Jetson NanoからGithubへのアクセスを確認します。

Jetson NanoでSSHキー作成

Jenkinsユーザー向けのSSHキーを作成します。
このSSHキーをGithubに登録します。
Githubに登録することにより、Jenkinsユーザーを用いて、Githubの操作が可能になります。

$ sudo su jenkins
$ cd /home/jenkins/
$ mkdir .ssh
jenkins@jetson02:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jenkins/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jenkins/.ssh/id_rsa.
Your public key has been saved in /home/jenkins/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:
The key's randomart image is:

GithubへSSHキーの登録と接続確認

https://github.com/settings/keys で id_rsa.pub の内容を登録します。

NVIDIA Jetson NanoからGithubへ接続確認

最後に、対象のサーバーより接続確認を行います。

ssh -T git@github.com
created by Rinker
NVIDIA
¥19,000 (2021/08/19 16:46:56時点 Amazon調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA