ポイント
- 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 作成を試してみますの♪
それに先立ち、参考ページをピックアップいたしました!
- Push – Command-Line – Packer by HashiCorp
- Atlas Tutorial | Packer pushでAtlas上でBOXをbuildし、完成したBOXを利用してVagrant upする – Tbpgr Blog
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 情報の登録
- Vagrant | Atlas by HashiCorp
- [New box]
- 次を入力し、[Create box]
- Name: oki2a24/centos-5-x86_64
- [ ] Private
- Short description: CentOS 5 minimal box
- 次を入力し、[Create version]
- Version: 1.0
- Description:
- lang ja_JP.UTF-8
- keyboard jp106
- timezone –utc Asia/Tokyo
Vagrant Box のアップロード
- [Create new provider]
- Provider: virtualbox
- [x] upload
- [Continue to upload]
- [ファイルを選択] でローカルで予め作成した Vagrant Box を選択
- Upload Complete したら、[Finish]
Vagrant Box の公開
- 作成した Vagrant Box の Versions ページの [unreleased]
- [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 $
おわりに
開発環境をより簡単に構築する一歩を、また積み重ねました。
嬉しく存じます♪
以上です。