« 2016年7月 | トップページ | 2016年9月 »

2016年8月

2016年8月30日 (火)

TFSとSubversionとの連携でエラー

ちょっとしたバグに引っかかったので、メモ書きです。

TFS2015では、Subversionのリポジトリからソースコードを取得してビルドが実行できます。
101_2

これを使って、他チームが使ってるSubversionのリポジトリからソースコードを取ってきて、SonarQubeで分析してみるテストをしようと思ったところ・・・
102_2

ソースコードが取得できない (;゚Д゚)

Visual C++ 2010 再配布可能パッケージが必要なんですね・・・。
ここからダウンロードしてきます。
32bit: https://www.microsoft.com/ja-jp/download/details.aspx?id=5555
64bit: https://www.microsoft.com/ja-jp/download/details.aspx?id=14632

インストール→再起動して、もう一回実行すると・・・
103_2

・・・なぜっ! (;゚Д゚)(;゚Д゚)(;゚Д゚)

いくら考えてもわからないので、Microsoft Connectにバグ報告。
何回かやり取りしたところ、この回避策やってみてくれと。
reg add HKLM\Software\Microsoft\VisualStudio\10.0\VC\VCRedist\x32 /v Installed /t reg_dword /d 1
(これって、単にパッケージのインストール判定するときのレジストリキーを単純に間違えてる(32bit版は「x86」)だけじゃ...)

・・・
104_2

通ったぁ~~
ちなみに、ビルドエージェントが32bitOSのときに発生します。(64bitOSでは正常に動作します)

次のバージョンで修正してほしいところですが、GitHubのビルドエージェントのリポジトリ(https://github.com/Microsoft/vsts-agent)にある最新版は64bitしか提供されていないのと、「Team Foundation Server "15" RC1」が出てる状態なので、このままかもしれません。

2016年8月23日 (火)

PXEブート環境を作成する

今回は備忘録的に超概略レベルで作成してます。

Hyper-V環境で新しい仮想マシンにISOファイルを指定するのがそろそろ面倒になってきたので、PXEブート環境を作成してみました。
最近はLinuxも使ってるので、サーバはCentOS7とWindowsです。
→既存のDHCPサーバ(Windows)とは別にPXEサーバを作成します。
 ※DHCPサーバの設定が変更できることが前提

<PXEサーバ(CentOS)側>
01.CentOS7をインストールする。
02.yum install httpd
03.firewall-cmd -add-service=http --permanent
04.firewall-cmd --reload
05.「/var/www/html/index.html」としてテストページを作成して、他のマシンから「http://[サーバ名]」でアクセスできることを確認
06.yum install syslinux xinetd tftp-server
07.mkdir /var/lib/tftpboot/pxelinux.cfg
08.cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
09.cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot
10.vi /etc/xinetd.d/tftp
 「disable = yes」→「disable = no」
11.start xinetd
12.enable xinetd
13.mkdir /var/lib/tftpboot/centos7
14.cp /run/media/[ログインユーザ名]/CentOS 7 x86_64/images/pxeboot/initrd.img /var/lib/tftpboot/centos7
 ※Hyper-Vの仮想マシンでCentOS7のISOイメージをマウントすると「/run/media/[ログインユーザ名]/CentOS 7 x86_64」にマウントされる
15.cp /run/media/[ログインユーザ名]/CentOS 7 x86_64/images/pxeboot/vmlinuz /var/lib/tftpboot/centos7
16.vi /var/lib/tftpboot/pxelinux.cfg/default
  timeout 300
  default menu.c32
  
  menu title ***** PXE Boot Menu *****
  label 1
    menu label ^1. local boot
    localboot
    
  label 2
    menu label ^2. Install CentOS7
    kernel centos7/vmlinuz
    append initrd=centos7/initrd.img inst.repo=http://[サーバ名]/pxeboot/centos7 devfs=nomount

17.mkdir /var/www/html/pxeboot/centos7
18.cp -R /run/media/[ログインユーザ名]/CentOS 7 x86_64/ /var/www/html/pxeboot/centos7

<DHCPサーバ(Windows)側>
1.DHCP管理画面の「サーバー オプション」として
 ・「066 ブート サーバー ホスト名」に'[PXEサーバ名]'
 ・「067 ブート ファイル名」に'/pxelinux.0
 を設定

DHCPサーバの設定変更ができないときは、DnsmasqでProxy DHCPを使えば対応できるらしいのですが、実機検証できたらまた書きます。

あと、Hyper-VでCentOSをPXEブートするときは、第1世代の仮想マシンを使用する必要があります。
→ISOイメージを直接マウントするときは第2世代でセキュアブートをOFFにすればインストールできますが、PXEブートでは起動イメージがロードできずにエラーになります。

« 2016年7月 | トップページ | 2016年9月 »