Developer

2018年03月29日

AppVeyorからChocolateyにデプロイする

こんにちは。

ChocolateyでSacloudのツールを公開しているのですが、その際に行ったAppVeyorからDeploymentで公開するための方法をまとめました。

・前提条件

 1.AppVeyorでパッケージを作成している。
 2.build時にARTIFACTSにパッケージ(*.nupkg)をアップロードしている。

・全体の流れ

 1.ChocolateyからAPIキーを発行する。
 2.AppVeyorのENVIRONMENTSから、Chocolateyアップロード用のNuGet設定を作成する。
 3.作成したNuget設定からProjectを選択してアップロードする。

・設定方法

 1.ChocolateyからAPIキーを発行する。

 Chocolateyの公式サイト(https://chocolatey.org)にアクセスしてログインします。

 ここで、アカウントページを開くのですが、サイトのバグでうまく表示されない場合には、直接ページ(https://chocolatey.org/account)を開いてください。

 「Your API key is:」の下にAPIキーが表示されますので、メモしておきます。

 image01


 2.AppVeyorのENVIRONMENTSから、Chocolateyアップロード用のNuGet設定を作成する。

 次に、AppVeyor(https://ci.appveyor.com/)にアクセスします。

 上のタブから「ENVIRONMENTS」をクリックします。

 「NEW ENVIRONMENT」をクリックします。

 以下の内容を入力します。

 Provider: NuGet
 Environment name: https://chocolatey.org/
 NuGet server URL: https://chocolatey.org/
 API key: {1.でメモしたAPIキー}
 Do not publish symbol packages: チェックを入れる

 最後に「Add environment」をクリックして完了です。

 image02


 3.作成したNuget設定からProjectを選択してアップロードする。

 作成が完了すると、「ENVIRONMENTS」ページに作成したenvironmentが表示されます。

 作成したenvironmentをクリックします。

 image03

 次に、「NEW DEPLOYMENT」をクリックします。

 image04

 次に、アップロードしたいbuildの「DEPLOY」をクリックします。

 これで、Chocolateyにアップロードが開始されます。

 image05

 以上で完了です!

 よいChocolatey生活を!(ナニ



hi223n at 20:38|PermalinkComments(0)

2017年12月03日

さくらのクラウドにWEBクライアントから構成してみる

1.はじめに

初めましての方は、はじめまして!
知っている方は、こんにちは。223nと申します。

普段はsacloudの各種ツールをWindows向けにchocolateyで配信しています。

この記事は、さくらインターネット Advent Calendar 2017の3日目です。
前日の記事は、@yamamoto-febcさんによる、「さくらのクラウド + Go言語 + Dockerでお手軽Slack Bot」でした。


2.今回やってみること

今回の記事では、さくらのクラウド上にWEBクライアントを使って
作業環境を構成してみたいと思います。
下図は、Sandbox上で構築した完成イメージ図です。

SakuraCloud-Map

大雑把に説明すると、以下のとおりです。

まず、vpc1は、VPCルータです。外部からはVPCルータを使って内部のスイッチに接続する予定です。
LocalSwitchは、外部に接続していないプライベートな空間にあるスイッチです。
次に、KL01にはKali Linuxをインストールします。
TG01は、実験体のUbuntuです。

今回、色々と試行錯誤を重ねながらやっています。
そのため、これから始める方 と 未来の自分に向けて
やってみた手順を説明していきたいと思います。


3.準備しよう

今回準備したものは、下記のとおりです。

1)「さくらのクラウド」のアカウント(https://cloud.sakura.ad.jp/

2)「Kali Linux」のISO Image (https://www.kali.org/downloads/)

3)Win SCP(https://winscp.net/eng/index.php

4)TeraTerm(https://ttssh2.osdn.jp/index.html.ja

※Win SCPやTeraTermは、Chocolateyでインストールすれば楽だと思います。


4.ISOイメージをアップしよう

今回は、Kali LinuxのISOイメージをアップしておいて、
そこからインストールをしたいと思います。
左側のメニューから、「ストレージ」→「ISOイメージ」をクリックします。
次に、右上の「追加」をクリックします。

0036

今回、用意したISOイメージは、サイズが大体2.68GBですので、5GBで十分に足りそうです。
必要事項を入力して「作成」をクリックします。

0037

作成が完了すると、FTPSで接続するための情報が表示されます。
この情報は忘れずにメモしておきます。

0038

WinSCPで接続します。
先ほどのホスト名、ユーザ名、パスワードとポート番号を設定します。
暗号化には「明示的なTLS/SSL暗号化」を設定すれば接続できると思います。

0039

ISOファイルをアップロードします。
アップロードは、バイナリで転送していきます。

0040

ファイルのアップロードが完了したら、「FTPを完了」をクリックします。
これで、サーバのインストールにISOイメージを使用することができるようになります。

0041

0042


5.スイッチを作ろう

外部のネットワークとは別に、ローカルのみのネットワークを作るため
スイッチを作成します。
完成イメージ図で表すと、この部分を作ります。

0004

左のメニューから、「ネットワーク」→「スイッチ」をクリックします。
次に、右上の「追加」をクリックします。

0043

今回、外部のネットワークに接続する必要はありませんでしたので、
「ルータ」は「いいえ」を設定します。
必要事項を入力して、「作成」をクリックします。

0044

無事にスイッチが作成されるのですが、完了メッセージを閉じても
作成画面は残ったままになります。
続けて作成できるようにするためだと思われます。
キャンセルして閉じてしまいましょう。

0045

一覧に戻ると、無事に作成されました。

0046

マップを見ると、確かにLocalSwitchが出来上がっています。

0047


6.VPCルータを作ろう

外部のネットワークから、ローカルのネットワークに接続するために
VPCルータを作成します。
完成イメージでは、ここの部分を作ります。

0049


左のメニューから、「アプライアンス」→「VPCルータ」をクリックします。
次に、右上の「追加」をクリックします。

0048

VPCルータは、3種類のプランから選択できます。
今回は、スタンダードを選択します。
必須項目を入力して「作成」をクリックします。

0050

VPCルータもスイッチと同じように作成後も一覧に戻りませんので、
作成後は、「キャンセル」をクリックします。

また、VPCルータは、実際に利用可能になるまでに時間がかかります。
有効状態が「コピー中」から「利用可能」に変化するまでコーヒーブレイクでもしましょう。

0051

有効状態が「利用可能」になったら、ダブルクリックで詳細を表示します。
上のタブから「インターフェース」をクリックします。

0052

プライベート1とスイッチを接続したいと思います。
プライベート1の鉛筆ボタンをクリックします。
接続先のスイッチに、先ほど作成したスイッチを選択します。
IPアドレス、プリフィックスを入力したら、「更新」をクリックします。

0053

一覧に戻ると、「設定を反映するには、上部の反映ボタンを押下してください。」と
表示されていますので、「反映」をクリックします。

0054

この状態でマップを開くと、画像のようになっていると思います。

0055

次に、VPN接続用のアカウントを作成します。
上のタブから、「リモートアクセス」→「アカウント管理」をクリックします。
右下の「追加」をクリックします。

0059

「ユーザ名」と「パスワード」を入力して「追加」をクリックすると、追加されます。
ここでも、最後に右上の「反映」を忘れずにクリックしましょう。

0060

次に、「L2TP/IPsecサーバ」を有効にします。
上のタブから「リモートアクセス」→「L2TP/IPsecサーバ」をクリックします。
右下にある編集をクリックします。

0061

有効にチェックをすると、動的割り当ての開始・終了と事前共有鍵を入力します。
最後に「更新」をクリックして「反映」も忘れずにクリックしましょう。

0062


※注意点
 VPCルータの設定では、最初にインターフェースでスイッチに接続しておきます。
 接続しておかないと、IPアドレスの割当てを設定する際などにエラーが発生します。

0002


7.サーバを作ろう(1)

次に、サーバを作りたいと思います。
まずは、Ubuntuを簡単に作りたいと思います。
完成イメージ図で表すと、この部分です。

0064

左のメニューから、「サーバ」をクリックします。
次に、メッセージで強調されている「追加」をクリックします。

0063

さくらのクラウドでは、シンプルモードと通常モード(?)があります。
今回はシンプルモードでUbuntuのサーバを作成しました。

0065

0066

0067

一番下に料金が表示されているので、問題がなければ「作成」をクリックします。

0068

完成すると、スイッチに接続されたサーバを確認することができます。

0069


8.サーバを作ろう(2)

次に、最初に作成したISOイメージからサーバを作りたいと思います。
完成イメージ図で表すと、以下のとおりです。

0070

先ほどと同じように左のメニューから、「サーバ」をクリックして「追加」をクリックします。
今回はシンプルモードでは作成できませんので、「シンプルモード」のチェックを外します。
設定内容は下図のとおりです。

0071

0072

0073

0074

0075

料金は左下に表示されています。
右下の「作成」をクリックすると、作成が始まります。

完了した後、作成したサーバの詳細から、「コンソール」を開くと
設定したISOイメージが読み込まれてインストーラが起動しています。
このまま、インストールを行いましょう。

0076

これで、完成イメージ図と同じになりました!

0079


9.VPNで接続しよう(Windows 10)

自宅のPCから、VPCルータを経由してVPN接続を試みます。
ここでは、Windows 10で用意されている機能で接続したいと思います。

右下の通知アイコン(?)をクリックしてウィンドウを開き、下にある「VPN」をクリックします。

0080

「VPN接続を追加する」をクリックします。

0081

あとは、画面に従って必要事項を入力します。
VPNの種類は、「事前共有キーを使ったL2TP/IPsec」です。
最後に「保存」をクリックすると、保存されます。

0082

あとは、作成したVPN接続をクリックして「接続」をクリックします。

0083

おや、失敗してしまいました。
どうやらWindows 10側で、もう少し設定が必要なようです。

0084

今回は、以下のサイトのやり方を参照しました。
Refs. Windows10設定マニュアルL2TP編

まずはじめに、右の「関連設定」から「アダプターのオプションを変更する」をクリックします。

0085


先ほど作成したVPN接続があるので、右クリックして「プロパティ」をクリックします。

0086

上のタブから「セキュリティ」をクリックします。
「認証」の「次のプロトコルを許可する」にチェックを入れます。
「チャレンジ ハンドシェイク認証プロトコル (CHAP)」と
「Microsoft CHAP Version 2 (MS-CHAP v2)」にチェックを入れます。

0088

次に、上のタブから「ネットワーク」をクリックします。
「インターネット プロトコル バージョン6(TCP/IPv6)」の
チェックを外します。
あとは、「OK」をクリックして再接続を試みます。

0089

これで、接続できるはずですが、もし「パスワードが違います」などの
メッセージが表示される場合、さくらのクラウド側のパスワードを再設定した後、
「詳細オプション」→「編集」からパスワードを設定しなおすといいと思います。

0090


10.サーバに接続しよう

ここまで来れば、あとはローカル環境と同じように接続するだけです。
Ubuntuのサーバ(TG01)に接続してみます。
IPアドレスは、192.168.0.3で接続することができます。

0091

これで、構築が完了です!


11.最後に

いかがだったでしょうか。

いつもは、グローバルに公開されているサーバ(実験体)を単体で構築しているだけでしたので、
VPCサーバや、スイッチ、ISOイメージからのサーバインストールなどを初めて触ったのですが、
個人的には、とても分かりやすかったと思います。

もし、触っていて分かりにくい点や使いにくい点などがある場合には、
さくらのユーザーフィードバックβに投稿することをおススメします。



hi223n at 00:00|PermalinkComments(0)

2017年06月10日

PCのセットアップで使うセット

新しい開発PCを受け取ると、
大抵インストールしているセットを紹介したいと思います。
* 後日、追記すると思います。


1. Chocolatey / Chocolatey.org

これは、パッケージマネージャと呼ばれているアプリです。
Chocolateyを使うことでアップデートの管理を行うことができます。
ただし、利用時に管理者権限が必要です。

[使用例]
アプリの検索 -> choco search xxxx
アプリのインストール -> choco install xxxx
アプリのアップデート -> choco update xxxx
*1 -yオプションをつけると、インストール時の確認のメッセージを
 すべてYesでスキップすることができます。


2. KeePass / Keepass.info

パスワードなどを管理するアプリです。
パスワード生成やアドオンを使った認証の追加などができます。
* Chocolateyでインストール可能
 * choco install keepass


3. Remote Desktop Connection Manager / microsoft.com

Microsoft社が提供しているリモートデスクトップの複数管理、
グループ分け、一括起動などができるアプリです。
* Chocolateyでインストール可能
 * choco install rdcman


4. Visual Studio Code / microsoft.com

Microsoft社が提供している開発エディタです。
* Chocolateyでインストール可能
 * choco install visualstudiocode


5. Wireshark / Wireshark.org

パケット情報をリアルタイムで調査できるアプリです。
* Chocolateyでインストール可能
 * choco install wireshark


6. Tera Term / Tera Term

LinuxなどのOSに接続するなどの際に使うアプリです。
* Chocolateyでインストール可能
 * choco install teraterm


7. BgInfo / microsoft.com

Microsoft社が提供している
背景にPC情報を追記してくれるアプリです。
* Chocolateyでインストール可能?
 * choco install bginfo
 * 筆者の環境ではインストール時にエラーが発生

8. Zoomit / microsoft.com

Microsoft社が提供している
画面の拡大や休憩タイマーなどのプレゼンに便利なアプリです。
* Chocolateyでインストール可能
 * choco install zoomit


9. Hosts File Editor / scottlerch

Hostsファイルを簡単に編集することができるアプリです。
名前解決できない場所から接続したいけど、サーバ名で接続したい...
という場合に使えるアプリです。
* Chocolateyでインストール可能
 * choco install hosts.editor


10. SourceTree / Atlassian.com

Atlassian社が提供しているGit等をGUIベースで管理できるアプリです。
ツリー図などによってわかりやすく履歴を管理することができます。
* Chocolateyでインストール可能
 * choco install sourcetree


11. ChocolateyGui / Chocolatey.org

ChocolateyのGUIアプリです。
インストールしたアプリの一覧が表示できるほか、
アップデート、アンインストール等の操作も行うことができます。



hi223n at 19:43|PermalinkComments(0)TrackBack(0)

2017年05月24日

フォルダの合計サイズを知りたい


フォルダの中にあるファイルの合計サイズを知りたい。

ということで、いろいろと考えた件のメモです。 続きを読む

hi223n at 23:15|PermalinkComments(0)TrackBack(0)

2017年03月23日

Pdfをc#で作りたい

とあるシステムで帳票をテンプレートから生成する機能を作ろうと思ったので、
いろいろ調べていると、ThinReportsという便利そうなアプリがあることを知りました。

るbyがあれば使えるらしいのですが、せっかくなのでpdfを勉強してc#で
ThinReportsのテンプレートファイルから生成できるような仕組みを作りたいと考えました。

それがこれ(https://github.com/223n/PDFCnet)なのですが、
まだまだ足りない機能などがあり、かなり修正が必要だなぁと感じています。

また、AdobeReaderなどで開くと保存ダイアログが表示されてしまい、
正常に生成できていないと思われます。

いつかは完成させたいと思いながら、少しずつ頑張っていきたいと思います。



hi223n at 23:21|PermalinkComments(0)TrackBack(0)