Articles in the Tips tag

  1. Gitlab CI とgitlab-ci-multi-runnerのwindows版を使ってwindows側にビルドを走らせるCIを作る

    趣味、仕事のgitリポジトリやイシュー管理はGitlabを利用しています。最近のバージョンにはGitlab CIというCI(継続的インテグレーション)が搭載されていまして、適切な設定が用意できればGitlabのプロジェクト内でビルドをさせることができるようになります。

    仕事ではWindowsが対象で、Windows上でビルド作業が出来ないと困るため、unix向けのCIツールは使えず、以前からjenkinsを使ってみたいなーと言いながらすっかり対応をせずに放ったらかしにしていました。 が、最近はzc.buildoutでワン・コマンドでビルドできるようになったし、Gitlab CIのRunnerという概念を知り(jenkinsだとスレーブですね)、WindowsでもRun nerを動かすことができるらしいので試してみました。若干ハマりどころがありますが、動かすことは可能です。

    TL;DR

    • Gitlab CIのビルドはWindowsを使うこともできる
      • RunnerはGo製らしい
    • Windowsサービスとして実行できるがハマりどころがある
    • とりあえず試して動いた

    Gitlab CIのビルドはWindowsを使うこともできる

    Gitlab CIのビルドはRunnerというアプリ、サービス(デーモン)で実行されるようです。CIと予め接続したうえで、gitのclone(fetch)を行い、.gitlab-ci.yml というYAML文法の設定ファイルをリポジトリのルートに置くことで、commitした段階でビルドしてくれます。

    GitLab.org / gitlab-ci-multi-runner · GitLab

    GitLab Documentation ...

  2. サンワサプライ はがせる耐水透明フィルムラベル を使って貼ってはがせるステッカーを作ってみた

    カンファレンスや勉強会などでスポンサーがよく配布しているロゴのステッカーをペタペタ貼るのって何故か憧れていまして、Macbookを持ったらやりたいなーと憧れていました。あとMacbookはその手の界隈に行くと持っている人が多くて、個人差を出すためにってこともありますね。

    数年前にMacbook airを手に入れ、勉強会でステッカーをたくさん頂いたのでそろそろ貼りたいなと思っていました。 ステッカーも一期一会で、そのまま貼り付けておくも良いのですが、貼って剥がして、新しいMacbookに貼りたい時もあると思います。~Macbookは美品なら中古でも高く売れるし~

    そういう需要はあると思いますが、意外とそれを叶えてくれるようなステッカーってありません。市販の専用ステッカーならあると思いますが、こういったノベルティグッズでは費用の面もあって採用されることは少なそうです。

    ということで、作ってしまおうと思いったのでやってみました。ちなみに1年前ぐらいに個人的にDIYしてまして、最近手に入れたステッカーでもうまくやれていたので、紹介したいと思います。

    道具、材料

    こういう工作をするなら大抵必要なものだらけです。

    オルファ デザイナーズナイフ ブラック(文具台紙) デザイン アート ナイフ 216BSBK
    B00GOO55GA

    ASIN : B00GOO55GA
    Amazonで詳しく見る
    Powered by Amazon Quick Affiliate (JP ...

  3. vagrant-parallels + ubuntu 14.04 でDHCP環境上でDNSサーバーを変更(追加)する方法

    Macbookでvagrant+parallelsの組み合わせでvagrantを大変便利に利用していますが、各ゲストのdnsサーバーを変更したいときにちょっと困って何とかした話です。

    問題

    DHCPでアドレスを貰っている状態で、DHCP側で貰ったDNSのアドレスを変えたい時があります。今回はvagrant上のUbuntuマシンにsamba4 Domain Contorollerを実験的に入れて試している最中で、DNSだけをsambaで使うDNSサーバーへ変えたくなりました。
    (なおvagrantのpublic networkの設定でstaticにはしていないです。)

    普段、Ubuntu serverの固定IPで設定した時のDNSを変えたいときは、 /etc/network/interfaces ファイルにdns-nameserverを加えるだけです。自動的にresolvconf/etc/resolv.conf を書き換えてくれます。

    $ sudo vim /etc/network/interfaces
    iface br0 inet static
            address 192.168.3.50
            netmask 255.255.255.0
            network 192.168.3.0 ...
  4. Zabbix 2.4を使ってみた - セットアップ編

    最近になって、事務所にいろんなネットワーク機器を入れましたが、監視できるツールを使ってみたくなりました。だいぶ前にMuninを使っていましたが、syslogも取れたり、設定しやすいものはないかなと探していましたが、Zabbixという監視サーバーアプリが良さそうだったので使ってみてます。

    Zabbixとは

    監視サーバーアプリです。専用のエージェントを使ってLinuxやWindowsの監視、SNMPの監視も出来ます。 業界的にもよく使われているようです。

    公式サイト

    ドキュメント

    日本語は2.2まで提供されていました。2.4もそこまで変更は無いので2.4のドキュメントとセットでみると理解が深まりそう。

    参考

    統合監視ツール「Zabbix」によるサーバー監視 - さくらのナレッジ

    (さくらのナレッジに2.4対応版の記事もあったのですが、中身がそっくり消えてしまっているのでリンクしませんでした。)

    環境 ...

  5. オリジナルテーマのアップデート:Googleカスタム検索やDisqus,google analyticsのコードの復活など

    早速アップデートしました

    前回、オリジナルテーマを適応しましたが、早速色々と問題がわかったのでちょっと直したり追加したりしました。大体は入れ忘れていたものです。

    Googleカスタム検索の追加

    こちらは追加したものです。Googleカスタム検索を追加しました。ナビゲーションバーの中にあるものです。

    Googleカスタム検索は、現在はJavascriptで動的に生成するコードが主流のようですが、Bootstrapとコンフリしてしまうらしいです。何度か適応させてみましたが見栄えが悪すぎたのでやめようか悩んでいました。

    何とか出来なかなと調べていたところ、HTMLフォームとしての検索フォームの追加が出来ることが分かりました。

  6. ASUSTOR AS-204TEレビュー: Rsyncサーバーを動かしてデータを復元してみた

    AS-204TE関連の記事一覧はこちらより

    引き続きAS-204TEを使っていきます。まずは(やっておかないと仕事的に終わる)データの復元から

    手っ取り早くRsyncを使います。AS-204TEにはrsyncサーバーがあります。サービス内にある再同期サーバーというのがそれです。

    早速設定します。rsyncのバックアップ先を決めます。AS-204TEでrsyncサーバーへ同期させたいときはは、モジュールという、バックアップサーバーの位置と名前と予め決めて行う方法を使うそうです。今までssh経由で行っていたので知らなかったです。

    追加したあとはこうなります。

    あとは、データがおいてあるサーバー上でrsyncします

    $ rsync -av /path/to/backup-data/* rsync://as-204te-host/back-to-data
    
    • aオプションはアーカイブモードで、権限も含めてなるべく構造を保持した状態で同期してくれます。
    • vオプションは同期したファイルを標準出力します
    • cオプションもあります。checksumモードでファイルの中身で差分を取ります(チェックサムしてる)

    zオプションで圧縮とかも出来ますが、余計なことをさせないで丸々同期させました。cオプションをつけるとチェックサムに偉い時間がかかってしまったので、最初はcを付けないで丸頃コピーし、二度目でコピー漏れなどないか確認のためにcをつけています。

    rsyncのルールとして、フォルダの末尾に ...

  7. pebbleで利用できる有志による日本語パックを入れてみました

    ちょっと前に見つけたのですが、日本のPebbleコミュニティが集まるGoogle+のコミュニティに韓国のpebbleユーザーの方が、日本語パックを公開するとのポストがあり、最近公開されたようなのでインストールしてみました。

    Pebble 日本語言語パック / Pebble Japanese language pack

    Heejun Kim - Google+

    日本語, CJK界隈の歴史

    Pebbleのマルチバイトは長らく対応出来ないとの話が続いてまして、それでも対応したいユーザーが独自の対応を試みていました。

    • Android限定な方法として、Android側でマルチバイト文字を画像形式に処理して送る方法
      • 自分はこの方法を使っていて、YaCN Proというアプリを使っていました
    • 非公式ファームウェアにマルチバイト文字同梱する

    ともに一長一短があり、特にiOSデバイスにはつらい状況でした。

    Pebble側でも、複数の言語対応を進めていたようで、フランス、ドイツ、スペイン語の対応がされていました。去年終わりの話です

    ちょっと前に、kickstarerで公開されたPebble Time/Pebble Time ...

  8. mdadmを使ったRAID1のディスクを解除して普通のディスクとして使う

    Ubuntu 14.04 にてmdドライバー(mdadm)を使って作成したRAID1ディスクを解除して普通のディスクにするまでの履歴です。完璧にメモ書きです。

    mdadmを使ってRAIDの構成を解除

    参考: カラスはデスクに似ているか? » md RAID deviceの削除

    利用している環境からアンマウントする, fstabに書いてある場合は削除しておこう

    $ sudo umount /dev/md0
    

    mdデバイスをストップ

    $ sudo mdadm --misc --stop /dev/md0
    

    ディスクのスーパーブロックを削除。数秒かかるはず。

    $ sudo mdadm --misc --zero-superblock /dev/sd**
    # *はそれぞれ必要な文字や数字
    

    cat /proc/mdstat/ でmdデバイスの解除を確認

    /etc/mdadm/mdadm.confの内容を消す もしくはmdadm —detail —scanの内容で上書きする

    ばらしたディスクの中身を空にして普通のディスクにする

    普通のディスク ...

  9. uvtoolのネットワークをブリッジ接続させる

    書き残しです。気が付かなかったので。

    KVM+libvirtを動かしているマシンをubuntu 14.04にアップグレードしてから、uvtool が利用できるようになったのでkvmでマシン作りたいときはこれで作ってます。

    イメージがクラウドで利用されているのもの(Ubuntu Cloud Images)が手に入るので、一度必要なイメージをダウンロードしたら次はそれをリンクしてマシンを生成してくれるようで、OSのインストール作業というのが無いんです。非常に気が楽にマシンを作れます。

    何かを試す程度ならいいんですが、ちょっと問題が

    ネットワークがNATになってしまう

    ubtoolのデフォルトのネットワークはvirbr0というインターフェースを指すようで(libvirtが自動で生成するインターフェース)、これはNATのようです。

    libvirt: Wiki: Networking

    何がまずいかというと、例えばGitlab試したい!とかDocker試したい!とかで必要なサービスへアクセスさせようとした時に、NAT超えする設定を書く必要があるから。

    ブリッジで出せるといいなあと思ってました。できるのかな?と思ってたのですが出来ましたのでメモ書き。

    --bridgeオプションを使う

    $ uvt-kvm create example-bridge release=trusty --bridge br0 --package avahi-daemon
    

    これはlibvirt側のオプションです。uvtoolはlibvirtのオプションも使えるんですね。

    何も引数を渡さないでuvt-kvm createを使うとuvtoolが定義しているテンプレート(libvirt側に登録させるxml ...

  10. WordpressからPelicanの移行した時のメモ: 2.Wordpressの内容を頑張ってPelicanにインポートさせる

    前回の続きです。

    Wordpressの内容のエクスポートまでは、複数カテゴリの移行が難しいという諸事情で、わざわざ移行用のサーバーを作って、カテゴリの変更をするなどしてXMLファイルへエクスポートさせました。

    次は、いよいよPelicanへインポートさせます。が、これもだいぶ苦行です。

    Wordpressのxmlファイルをインポートする

    おさらいですが、インポートのコマンドはpelican-import です。これは何をしているかというと、インポート元のファイルやサービスへアクセスし、エントリーごとのファイルを作ります。

    使ったコマンドとオプションはこれ

    $ pelican-import --wpfile -m markdown --disable-slugs -o ./wp-import-md/log.wordpress.2015-01-31.xml
    

    --wpfileオプションはwordpressのxmlfileを指定してます。 -mオプションは--Markupの略で、rstファイルかmdファイル(markdown)かを選べます。

    --disable-slugsオプションは、生成したエントリーごとのファイルにあるメタデータに:slug:を生成するかしないかです。生成すると、wordpressのslugを引き継いでくれます。

    pelicanでそのままmake html/publish ...

About Me

実家の自動車プレス金型設計業(sano-design.sakura.ne.jp)に所属。
また東海大学石井研究室(ishiilab.net)でたまにお手伝いしてます。
サイト制作/python/Ubuntu 作ったり扱います。 小さいガジェットがとっても好き。
最近は諸事情で家事業が多めです。

Tags

スポンサードリンク