カテゴリー
コンピューター

【Vagrant】はじめての、Box を Atlas へホストする実践手順記録♪

ポイント

  • Atlas でアカウントを作ると、無料で Vagrant Box をホストすることが可能
  • packer push は使えなかった。つまり、無料アカウントの範囲では、packer push による Atlas サーバでの Vagrant Box 生成ができなかった。
  • ローカルで packer を使って Vagrant Box を作成し、Atlas サイトで Vagrant Box をアップロードする、という手順となった。

今回の投稿では、失敗も含めて試行錯誤した記録を残していきますの♪

Atlas アカウントを作る。

アカウント作成ページが Atlas サイト内を巡回しても見つかりません><。

[atlas vagrant sign up] で Google 検索し、ようやくたどり着きました。

【Atlas アカウント設定】Tokens 作成

下記の手順を行いましたけれども、最終的には不要な手順と存じます。

  • Mac で使う予定のため、Description には [Mac] と入力

取り扱い注意。2度と表示されない とのことですの。

Your authentication token is displayed below. Treat this token like a password, as it can be used to access your account without a username, password, or two-factor authentication.

【Atlas アカウント設定】アカウント連携

こちらも、下記の手順を行いましたけれども、最終的には不要な手順と存じます。

Connecttions > Connect GitHub to Atlas

次のパーミッションを要求されました。

  • Personal user data
    Full access
  • Repository webhooks and services
    Admin access
  • Repositories
    Public and private

フルアクセスなような気がして、なんだか心配ですわ><。

接続完了後、Connections ページから、Unlink from GitHub で切断可能のようですの。

packer push の使い方参考ページ

packer push で Atlas サーバでの Vagrant Box 作成を試してみますの♪

それに先立ち、参考ページをピックアップいたしました!

packer push を試し、うまくいきませんでした><。

試行錯誤の記録を残しておきますわ♪

$ packer push centos-5.11-x86_64.json
The 'push' section must be specified in the template with
at least the 'name' option set. Alternatively, you can pass the
name parameter from the CLI.
$

name オプションを付けてみました。

$packer push -name oki2a24/centos-5.11-x86_64 centos-5.11-x86_64.json
Your build name can only contain these characters: ^[a-zA-Z0-9-_/]+$
$

^[a-zA-Z0-9-_/]+$ が name オプションの規則とのこと。ドットを除き、名前を再考いたしました。

$packer push -name oki2a24/centos-5-x86_64 centos-5.11-x86_64.json
Warning! One or more of the builds in this template does not
have an Atlas post-processor. Artifacts from this template will
not appear in the Atlas artifact registry.

This is just a warning. Atlas will still build your template
and assume other post-processors are sending the artifacts where
they need to go.

Builds: virtualbox-iso


Error starting upload: upload: authentication failed

Token をつけていなかったからかしら。

$ packer push -name oki2a24/centos-5-x86_64 -token ABCD1234 centos-5.11-x86_64.json
Warning! One or more of the builds in this template does not
have an Atlas post-processor. Artifacts from this template will
not appear in the Atlas artifact registry.

This is just a warning. Atlas will still build your template
and assume other post-processors are sending the artifacts where
they need to go.

Builds: virtualbox-iso


Error starting upload: upload: This feature requires Vagrant Enterprise or Terraform Enterprise. Please contact sales@hashicorp.com to start or extend your trial.
$

あらあら、無料のアカウントじゃ不可能、ということかしらね?

ウェブサイトからのアプローチで、Vagrant Box の Atlas でのホストができました!

Vagant Box 情報の登録

  1. Vagrant | Atlas by HashiCorp
  2. [New box]
  3. 次を入力し、[Create box]
    • Name: oki2a24/centos-5-x86_64
    • [ ] Private
    • Short description: CentOS 5 minimal box
  4. 次を入力し、[Create version]
    • Version: 1.0
    • Description:
      • lang ja_JP.UTF-8
      • keyboard jp106
      • timezone –utc Asia/Tokyo

Vagrant Box のアップロード

  1. [Create new provider]
  2. Provider: virtualbox
  3. [x] upload
  4. [Continue to upload]
  5. [ファイルを選択] でローカルで予め作成した Vagrant Box を選択
  6. Upload Complete したら、[Finish]

Vagrant Box の公開

  1. 作成した Vagrant Box の Versions ページの [unreleased]
  2. [Release Version]

実際に動かしてみる

次のように、無事に動作いたしました♪

$ vagrant init oki2a24/centos-5-x86_64
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
$
$ vagrant up --provider virtualbox
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'oki2a24/centos-5-x86_64' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'oki2a24/centos-5-x86_64'
    default: URL: https://atlas.hashicorp.com/oki2a24/centos-5-x86_64
==> default: Adding box 'oki2a24/centos-5-x86_64' (v1.0) for provider: virtualbox
    default: Downloading: https://atlas.hashicorp.com/oki2a24/boxes/centos-5-x86_64/versions/1.0/providers/virtualbox.box
==> default: Successfully added box 'oki2a24/centos-5-x86_64' (v1.0) for 'virtualbox'!
==> default: Importing base box 'oki2a24/centos-5-x86_64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'oki2a24/centos-5-x86_64' is up to date...
==> default: Setting the name of the VM: vagrant_test_default_1469283886633_26537
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
GuestAdditions 5.0.24 running --- OK.
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/oki2a24/vagrant_test
$
$ vagrant box list
... 略 ...
oki2a24/centos-5-x86_64 (virtualbox, 1.0)
$
$ vagrant ssh
Last login: Thu Jul 21 23:08:24 2016 from 10.0.2.2
[vagrant@localhost ~]$ su -
パスワード:
[root@localhost ~]# cat /etc/redhat-release 
CentOS release 5.11 (Final)
[root@localhost ~]# logout
[vagrant@localhost ~]$ logout
$

おわりに

開発環境をより簡単に構築する一歩を、また積み重ねました。

嬉しく存じます♪

以上です。

コメントを残す