...ãŸãã¯TeamCityã䜿çšããŠ*.deb
ããã±ãŒãžãªã©ããã«ãããŸãã
ç§ã¯ã tcDebRepositoryã¢ãžã¥ãŒã«ãç¥ãããšã§èšäºãæžããããšæããŸãã ã ãä»ãããã©ã°ã€ã³ããã°ããã¹ãŠãéæ³ã®ããã«æ©èœããããšåçŽã«ä¿¡ããŠããŸããã ãã€ãã®ããã«ãããã¯æ©èœãããæçµçã«ç¹å®ã®çµéšãèç©ãããŸããããããäœç³»åããããšæããŸããã
ãã®èšäºã¯ã TeamCityã®åºæ¬ã玹ä»ãããã®ã§ã¯ãªããèªè
ãTeamCityãšDebian GNU / Linuxã€ã³ãã©ã¹ãã©ã¯ãã£ã®äž¡æ¹ã«æ¢ã«ç²ŸéããŠããããšãåæãšããŠããŸãã ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãäœã§ãããããã§ã«æ³åããŠãããã TeamCityãæã«ããããšããªãå Žåã¯ãããããããã«ããŸã ã Debianã§ã®ããã±ãŒãžã®ãã«ãã«ã€ããŠã¯ã Debian New Maintainers 'Guideã§èªãããšãã§ããŸãã
ã²ãŒã ã®å ŽåïŒèª°ããçµæãåçŸãããå ŽåïŒã圌ãã¯Debian 8.0ïŒJessieïŒãå®è¡ããŠããTeamCity 10ãµãŒããŒãš3ã€ã®ãšãŒãžã§ã³ãã䜿çšããŸãã ã 3ãšãŒãžã§ã³ã-ããã¯ã TeamCity Professionalã®å Žåã®å¶éã§ãã 以äžã§èª¬æãããã¹ãŠã®ãã®ã¯ã Astra Linuxãªã©ã Debian GNU / Linuxã«åºã¥ããä»ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«ç°¡åã«è»¢éã§ãããšæããŸãã
èšç»
ããªãarbitraryæçãªæ¹æ³ã§ãå®éšçšã«4ã€ã®ããã±ãŒãžãéžæããŸããã
ãã«ãæ§æã®æ°ã«å¯ŸããProfessionalã©ã€ã»ã³ã¹ã®å¶éãèãããšãæå€§20åã®ããã±ãŒãžãããã€ã€ã«ãã§ããŸããã
æºåãã
TeamCityã¯å
¬åŒãµã€ãããããŠã³ããŒããããŸãã TeamCityèªäœã«å ããŠã åãšãŒãžã§ã³ããã·ã³ã«ãã«ãå¿
é ããã±ãŒãžãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãããŸãã4ã€ã®ããã±ãŒãžãã¹ãŠã®ã¢ã»ã³ããªã«å¿
èŠãªäŸåé¢ä¿ïŒã«ããŽãªããïŒ
build-depends
build-depends-indep
ïŒã ããã«ããããã«ãã®äŸåé¢ä¿ã®åé¡ãæå°éã«æããããŸãïŒå¿
ãããæé€ãããããã§ã¯ãããŸããïŒã
Debian GNU / Linuxã®ããã±ãŒãžã¿ã€ã
ããã±ãŒãžã¯ãä»ã®æ©èœã®äžã§ããããã€ãã£ããïŒ ãã€ãã£ã ïŒãšå€éšïŒ éãã€ãã£ã ïŒïŒ 詳现 ïŒã«åããããŸãã ãã€ãã£ãããã±ãŒãžïŒ autotools-dev
ã debhelper
ã dpkg
ïŒã¯éåžžDebianãããžã§ã¯ãã®äžéšãšããŠéçºããããœãŒã¹ã³ãŒãã«ã¯ãã§ã«ã¢ã»ã³ããªã«å¿
èŠãªã¡ã¿æ
å ±ïŒãœãŒã¹ããªãŒã®ã«ãŒãã®debian/
ãã£ã¬ã¯ããªïŒãå«ãŸããŠããŸãã
å€éšããã±ãŒãžïŒ bash
ïŒã®éãã¯ããœãŒã¹ã³ãŒããDebianã«çµã³ä»ããããŠããªãããšãšãã¡ã³ããã³ã¹ãšã³ãžãã¢ïŒãã·ã¢èªã®ããã¥ã¡ã³ãã§ã¯ããã¯ãDebianéçºè
ããšåŒã°ããè±èªã§ã¯åã«ãmaintainerããšåŒã°ããŸãïŒãããïŒããã¯debian/
ãã£ã¬ã¯ããªã®ãŸãã«å
容ã§ãïŒã
äžè¬èšå®
åéãããã€ããªããã±ãŒãžã¯ã TeamCityã®çšèªã§ã¯ã ææç© ãã§ãã ãããã£ãŠã次ã®ã¢ã»ã³ããªã®æåŸã®æçµè¡ã§ã ã¢ãŒãã£ãã¡ã¯ããã¹ãæå®ããŠãæåŸ
ãããã®ãæå®ããå¿
èŠããããŸã ã
ã¢ãŒãã£ãã¡ã¯ãpkgname.orig.tar.{gz,bz2,xz}
ããã³pkgname.debian.tar.{gz,bz2,xz}
ããã€ãã£ãããã±ãŒãžçšã«äœæãããŸããã
ãœãŒã¹ã³ãŒããTeamCityã«æ¥ç¶ãã
ã»ãšãã©ã®å Žåããã®æé ã ãã¯è€éã§ã¯ãããŸããããã«ãæ§æèšå®ã«ç§»åããŠãããŒãžã§ã³ç®¡çã·ã¹ãã ã®æ°ããã«ãŒã ïŒVCSã«ãŒãïŒã远å ããã ãã§ãã ããã€ãã£ããããã±ãŒãžã®å Žåããã®æäœã¯éåžž1åãå€éšã®ããã±ãŒãžã§ã¯2åå®è¡ããå¿
èŠããããŸãïŒãã ããéçºè
ïŒDebianãããžã§ã¯ãå€ïŒãšä¿å®ãšã³ãžãã¢ã®äž¡æ¹ãåãDVCSïŒ Git ã Bazaar ïŒã䜿çšããã³ãŒãã¯ãã¡ã¿æ
å ±ãšãããã®ããŒãžã®ç«¶åãåŒãèµ·ãããã«ããããªããžããªããå¥ã®ãªããžããªãžãšçµ¶ããããŸãã£ãŠããŸãã
å¯äžã®æ©èœã¯ããã®å Žåã®ã¢ãŒãã£ãã¡ã¯ãã¯ãœãŒã¹ã³ãŒãããªãŒïŒäžèšã®1ã€ã®ãã£ã¬ã¯ããªïŒã®å€éšã§åéããããããããšãã°dpkg
ããã±ãŒãžã®ãœãŒã¹ã³ãŒããçŸåšã®äœæ¥ãã£ã¬ã¯ããªã«ããŒããããªãããã«ãã§ãã¯ã¢ãŠãã«ãŒã«ãæ§æããå¿
èŠããããŸãããåãååã®ããã±ãŒãžå
ã®ãµããã£ã¬ã¯ããªãã€ãŸãdpkg/
ããã¯ã ãã§ãã¯ã¢ãŠãã«ãŒã«ã« 1è¡è¿œå ããããšã§å®çŸãããŸã ã
+:.=>dpkg
æçµçã«ã¯æ¬¡ã®ããã«ãªããŸãã

ããã§ãããŒãžã§ã³ç®¡çèšå®ã«æ»ããã«VCSããªã¬ãŒã远å ã§ããŸãã
Bazaarãšã®çµ±å
ããããã bash
ããã«ãããã«ã¯Bazaarãšã®çµ±åãå¿
èŠã§ãããæšæºã®TeamCityé
ä¿¡ã¯ãã®ã·ã¹ãã ããµããŒãããŠããŸããïŒã -æ°é
ãã®ããèªè
ãèšãã§ãããããããŠåœŒã¯æ£ããã§ãããã ããã«ã æ®å¿µãªããTeamCityã§ã¯ã bzr::http://bazaar.launchpad.net/~doko/+junk/pkg-bash-debian
ãããªGit URLã远å ã§ããŸãã-JGitã«ã¯å¶éãå€ãããŸãã
BazaarããµããŒãããå€éšã¢ãžã¥ãŒã«ããããŸãããå°ãªããšã2ã€ã®éå€§ãªæ¬ é¥ããããŸãã
- ãšãŒãžã§ã³ãåŽã®ãã§ãã¯ã¢ãŠãã¯ãµããŒããããŠããŸããã
- ã¢ãžã¥ãŒã«ã¯bzr xmllsããã³bzr xmllogã®æ©èœã«äŸåããŠããããã Bazaarã®æšæºé
ä¿¡ã§ã¯äžååã§ã ããããã¯ãã«ãããã»ã¹äžã«ã®ã¿æ€åºãããŸãã

TeamCityãµãŒããŒã¯Windowsã§åäœããŠããããã BazaarããµãŒããŒåŽã«ã€ã³ã¹ããŒã«ãããšããæ¥œããåéºãæŸæ£ãã bash
代ããã«bash
ã³ãã³ãã©ã€ã³ã©ã³ããŒã𿬡ã®ã¹ã¯ãªããã䜿çšããŠãå¥ã®ãã«ãã¹ãããïŒè²§ãã人ã
ã®ããã®Bazaarçµ±åïŒã远å ããŸããã·ã§ã«ïŒ
ãã®ãããªã¢ãããŒãã§ã¯ã1ã€ã®ãœãŒã¹ããªãŒïŒ2ã€ã®ãã¡ïŒã§å€æŽãã確èªãããããããïŒå€æŽïŒè¡šç€ºããããšãã«èªåçã«ã¢ã»ã³ããªãéå§ã§ããŸããããæåã®å®éšã§ã¯ååã§ãã
NBïŒ ã³ãã³ãã©ã€ã³ã©ã³ããŒã¯ã¹ã¯ãªããã³ãŒãã®æ§æã匷調ã§ããªãããã Mozilla Firefoxããã³SeaMonkeyãã©ãŠã¶ãŒã®ãŠãŒã¶ãŒã«ã¯ãæ¡åŒµæ©èœIt's All TextïŒããå§ãããŸãã ãå€éšãšãã£ã¿ã§ããã¹ããã£ãŒã«ãã®å
容ãç·šéã§ããŸãã VimãŸãã¯Emacsãæ¥ç¶ããŠãæ§æã®åŒ·èª¿è¡šç€ºããªãŒãã³ã³ããªãŒãã ãã§ã¹ãšè©©äºº ã
çµã¿ç«ãŠïŒã»ããã¢ãã
ãã«ãããã«ã¯ãæ¢ã«ããªãã¿ã®ã³ãã³ãã©ã€ã³ã©ã³ããŒã䜿çšããã ãã§ååã§ãããã®ã³ãã³ãã©ã€ã³ã©ã³ããŒã¯dpkg-buildpackage
ãåŒã³åºããŸãã -uc
ããã³-us
-uc
ã¯ãããã±ãŒãžã®ããžã¿ã«çœ²åãäœæããããªãããšãæå³ããŸãã ããã§ãå¿
èŠãªå Žåã¯ã察å¿ããGnuPGããŒã®ãã¢ãåãšãŒãžã§ã³ãã«ããŠã³ããŒãããå¿
èŠããããŸãã
ãŸãã dpkg-buildpackage
ã¯ãçŸåšã®äœæ¥ãã£ã¬ã¯ããªã§ã¯ãªãããµããã£ã¬ã¯ããªïŒãœãŒã¹ã³ãŒãããªãŒãã¢ããããŒããããå ŽæïŒã®åãååã®ããã±ãŒãžã§å®è¡ããå¿
èŠãããããšã«æ³šæããŠãã ããã ããŒãžã§ã³ç®¡çãèšå®ãããŠããå Žåããã£ã¬ã¯ããªåãæåã§å
¥åããã«ãããŠã¹ã1åã¯ãªãã¯ããã ãã§[äœæ¥ãã£ã¬ã¯ããª]ãã£ãŒã«ãã«å
¥åã§ããŸãã

ã¢ã»ã³ããªïŒåé¡è§£æ±º
ã³ãŒãå質
å¥åŠãªããšã§ãããã³ãŒãã®å質ïŒããæ£ç¢ºã«ã¯ãéçºã®ã¹ã¿ã€ã«ïŒã¯ãç¶ç¶çãªçµ±åã®å®è£
ãžã®éã§é倧ãªåé¡ã«ãªãå¯èœæ§ããããŸãã çµéšçã«ã bash
ã®å Žåã2ã€ã®ã³ãŒãããªãŒã®ããŒãžã§ã³ã¯åæããŠããŸãããã¡ã€ã³ããªãŒã®æåŸã®ã³ãããã¯ããŒãžã§ã³4.4ã«å¯Ÿå¿ããŠããŸããã debian/changelog
ãã¡ã€ã«ã¯ããŒãžã§ã³4.3ã§ã»ãŒ2幎åã«åæ¢ããäžæ¹ã®ããŒãžã§ã³ã®ã³ãŒãã¯ããäžæ¹ã®ããŒãžã§ã³ã®ã¡ã¿æ
å ±ãæã¡ãŸãéãŸã£ãŠã¯ãããŸããã ããã§ã¯ãã¡ã€ã³ããªãŒã«bash-4.3
ãã©ã³ããå¿
èŠã§ãã
ããã§ãã³ãããããªãŒãèŠãŠæ¥œããããšãã§ããŸãã
- ããã«ã
bash-4.3-rc2
ãšïŒä»¥äžã§ã¯èŠããªãïŒ bash-4.3-rc1
bash-4.3-testing
ãã©ã³ããããbash-4.3-rc2
-ãããŠãçªç¶å£ããŸãã ããŒãžã§ã³å±¥æŽãä¿¡ããŠããå Žåã¯ã bash
4.3ã®ãªãªãŒã¹ã¯è¡ãããŠããŸããã - åæã«ãæ°æ¥åŸã
bash-4.3
ã¿ã°ã䜿çšããŠmaster
ãã©ã³ãã«ã³ãããã衚瀺ãããŸããããã«ã¯ã mergeãcherry-pickãªã©ã®æäœãå
è¡ããŠããŸããã - ã³ãããã®å±¥æŽãšå
容ãç°¡åã«èŠããšããã¹ãŠã®éçºã1人ã®ããŒã«ã«ãã©ã³ãã§å®è¡ããã savannah.gnu.orgã§ã®
git push
ã宿çã«çºçãã git merge --squash -s ours
ïŒã³ãããããšã«ïŒä¿¡ããããªãã»ã©é·ããèªã¿ã«ããdiff
ïŒã - ã
Bash-4.3 patch XY
ãã³ãããïŒããŒãžã§ã³4.3ã®åèš46åã®ãããïŒã¯master
é
眮ããïŒ bash-4.3-testing
ã«ã¯ãããŸããïŒã3é±éåŸã«bash-4.4-beta2
ã©ãã«ãmaster
ãã©ã³ãã«è¡šç€ºãããŸãã ããã¯ãã bash
4.3 plus patchãã®æåŸã®å®å®ç¶æ
ã¯ãæ®å¿µãªãããã©ãã«ã§ããªãããšãæå³ããŸãã TeamCityã§ã¯ãã¿ã°ïŒã ãã©ã³ã仿§ã§ã¿ã°ã䜿çšã§ããããã«ãã ããã©ã°ïŒ ã䜿çšããŠãã«ãã§ããŸããããã¯æçµçã«è¡ãããŸããã
èŠçŽïŒ
- ç§ãèŠãã®ã¯ãåŸæ¥ã®ãã©ã³ãäœæã¹ããŒã ãgit-flowãšã¯ç°ãªããŸãã
- ã¯ããã¿ã°ã«ããã¢ã»ã³ããªã¯ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã®å
šãã€ã³ããç¡å¹ã«ããããšã¯æ¿ç¥ããŠããŸããã
bash
éçºè
ãšã¯ãŸãå¥ã®bash
話ããŸãã
äŸåé¢ä¿
æåã®ãã«ããéå§ãããšã dpkg-buildpackage
ãªã¿ãŒã³ã³ãŒã3ã§ã®äœæ¥ãçµäºããããšãããããŸãã

ã¢ã»ã³ããªãããã³ã«ã衚瀺ããçµæãããã€ãã®äŸåé¢ä¿ããŸã æ¬ èœããŠããããšãããããŸããã

ãã ããããã§ã¯å¿
èŠãªãã¹ãŠã®ãã®ãïŒãã¹ãŠã®ãšãŒãžã§ã³ãã«ïŒã€ã³ã¹ããŒã«ãã dpkg-buildpackage
ã¯åãã³ãŒãã§çµäºããŸãã åé¡ã¯äœã§ããïŒ ããã«ã¯ããã€ãã®ãã¥ã¢ã³ã¹ããããŸãã
å£ããåäœãã¹ã
ããã§ãèªåãæ¬ºããŠããã±ãŒãžãåéãããå Žåã¯ã倿Žãããç°å¢ã§dpkg-buildpackage
ãå®è¡ããã ãã§ååã§ãã
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -uc -us
èªå·±æ¬ºofã®ä»ã®æ¹æ³ã«ã€ããŠã¯ã ãã¡ããã芧ãã ãã ã
ãã£ããã·ã¥ã©ã€ã³
å°çã®ãã¹ãŠã®åãæž¡ãããåŸã次ã®ã¢ã»ã³ããªãææç©ã®äœæã§çµäºããããšãããããŸãã

ããã±ãŒãžããŒãžã§ã³ã®å¢åããšã«1ã€ã®ã¢ã»ã³ããªã®ã¢ãŒãã£ãã¡ã¯ãã®æ°ãå¢ãããããªãå ŽåïŒæçµçã«ã¯dpkg_1.18.16_i386.deb
ã dpkg_1.18.17_i386.deb
ããã³dpkg_1.18.18_i386.deb
åºãç¯å²ãæäŸããŸãïŒãäœæ¥ãã£ã¬ã¯ããªã®å
容ã¯åã¢ã»ã³ããªã®åã«éžæçã«ã¯ãªãŒãã³ã°ããŸãã ããã¯ãåŒæ°ãšããŠæªåé«ãã¢ãŒãã£ãã¡ã¯ããã¹ã䜿çšããŠrm -rf
ãåŒã³åºãããšdpkg-buildpackage
çŽåã«æåã§å®è¡ã§ããŸãããããè¯ãæ¹æ³ããããŸã-ææ
ã®ããã£ãååãMopããæã€æšæºã®TeamCityã¢ãžã¥ãŒã«ã ããã¯ãèšå®ãã©ã®ããã«èŠãããã§ãïŒããã§éèŠãªã®ã¯ã次ã®ãã«ãéå§åãã§ãïŒïŒ
ãã ãã Swabraã¢ãžã¥ãŒã«ãæ£ããæ§æãããŠããå Žåãã¢ã»ã³ããªãããã³ã«ã®å¯Ÿå¿ãããã©ã°ã¡ã³ãã¯æ¬¡ã®ããã«ãªããŸãã
ä»ãããDebianãªããžããªãã»ããã¢ãããããšãã§ãã ããã¯ã tcDebRepositoryã¢ãžã¥ãŒã«èšå®ã«ã¢ãŒãã£ãã¡ã¯ããã£ã«ã¿ãŒã远å ããããšã§å®çŸãããŸã ã ããã€ãã®äžäŸ¿ãªç¹ã¯ãåæ§æïŒãœãããŠã§ã¢ããã±ãŒãžãèªãïŒã«å¯ŸããŠã以åã®ãã£ã«ã¿ãŒãšå®è³ªçã«åäžã®æ°ãããã£ã«ã¿ãŒã远å ããå¿
èŠãããããšã§ãã

æ¢åã®ã¢ãŒãã£ãã¡ã¯ãã¯ã€ã³ããã¯ã¹åãããªããããDebianãªããžããªã®æçµã»ããã¢ããåŸãåæ§æã§å°ãªããšã1ã€ã®ã¢ã»ã³ããªãééããå¿
èŠããããŸãã ãã®åŸãäºæ³ãæ¥ãŸãïŒ
ã¢ãŒããã¯ãã£ããã±ãŒãžãã£ã¬ã¯ã㪠ããã³å©çšå¯èœãªããã±ãŒãžã®ãªã¹ã ãªããžããªã/etc/apt/sources.list
远å ãããšãã¯ã©ã€ã¢ã³ãåŽãããã¹ãŠã®åãããã±ãŒãžã確èªã§ããŸãã
ããã±ãŒãžã«ããžã¿ã«çœ²åããªãããšãããããŸã NBïŒ è€æ°ã®ã¢ãŒããã¯ãã£ïŒ i386
ã x32
ã amd64
ã arm
ïŒã§ãã«ãããå Žåã1ã€ã®ããã±ãŒãžã«å¯Ÿå¿ãããšãŒãžã§ã³ãã®èŠä»¶ãç°ãªãè€æ°ã®åå¥ã®ãã«ãæ§æãå¿
èŠã§ãããŸãã¯ã VCSããªã¬ãŒã«å ããŠããããªã¬ãŒãã«ããªã³æå¹ã§äºææ§ã®ãããã¹ãŠã®ãšãŒãžã§ã³ã "ïŒ
ãã°ãããããšã dpkg
ãããžã§ã¯ããæŽ»çºã«éçºãããŠããããšãããããŸãããæ®ãã®åå è
ã¯ç«¹ãåžã£ãŠããããã§ãã