You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Ansible playbookã使ããéç¨ã§ãããã¸ã§ãã³ã°ãæ£ããè¡ããã¦ãããã¨ããã¹ããããã¨ãããã¾ãããã®éã«å©ç¨ããããã¹ããã¼ã«ã®ä¸ã¤ã¨ãã¦ServerSpecã¨ãããã¼ã«ãããã¾ããï¼ TestKitchenã¨Dockerã»Serverspecã§ä½ãAnsibleTDDç°å¢ ï¼ServerSpecã¯ãµã¼ãéã®éä¿¡ãæ£ããè¡ããã¦ãããã¨ãããã»ã¹ãæ£ããèµ·åãã¦ãããã¨ãªã©ã®ãã¹ããè¡ãã¾ãããã®ServerSpecãå©ç¨ããAnsibleå°ç¨ã®ãã¹ããã¼ã«ã¨ã㦠AnsibleSpec ã¨ãããã¼ã«ãåå¨ãã¾ããAnsibleSpecã¯SeverSpecã¨åãæ§æã§è¨è¿°ãã§ãããã¹ããã¡ã¤ã«ãAnsibleã®ããã¸ã§ã¯ãå ã«çµã¿è¾¼ããã¨ããç¹å¾´ãããã¾ãã ä»åã¯Ansibleå°ç¨ã®ãã¹ããã¼ã«ã¨ãã¦å ¬éããã¦ããAnsibleSpecã®ç¹å¾´ããã³ä½¿ãæ¹ãç´¹ä»ãã¾ãã
OSSã®ãµã¼ããã¹ãèªååãã¼ã«å¾¹åºæ¤è¨¼ 2016å¹´ç ï½Serverspecç·¨ï½ï¼å®éã«æ¤è¨¼æ¸ã¿ï¼OSSå¾¹åºæ¯è¼ï¼5ï¼ãµã¼ããã¹ãèªååãåç·¨ãï¼1/8 ãã¼ã¸ï¼ å種ãªã¼ãã³ã½ã¼ã¹ã½ããã¦ã§ã¢ã®ãã¡ãç¹ã«äººæ°ã®é«ãOSSãããã¯ã¢ãããå®éã®æ¤è¨¼çµæãã¾ã¨ããæ¬é£è¼ãä»åã¨æ¬¡åã¯ãµã¼ããã¹ãèªååãã¼ã«ãServerspecãã¨ãInfratasterããç´¹ä»ããã ã¯ããã« ååã®ããµã¼ãæ§ç¯ã»éç¨èªååã½ãã4製åå¾¹åºæ¤è¨¼ãã®åé ã§ãè¿°ã¹ãããã·ã¹ãã ã®è¤éåãè¦æ¨¡æ¡å¤§ã«ä¼´ããããã«éç¨è² è·ãã³ã¹ãã®å¢å¤§ãææ¢ããããå¤ãã®ä¼æ¥ã«ããã¦æ¥åã¨ãªã£ã¦ãããããããä¸ãéç¨ä½æ¥ã®èªååãé²ãã§ããããµã¼ãæ§ç¯ã»éç¨ã®èªååã«ããã¦ã¯ãååãç´¹ä»ãããChefããAnsibleããPuppetããItamaeããåºãæ´»ç¨ããã¤ã¤ãããã¾ããæ§ç¯ãã¡ã³ããã³ã¹ä½æ¥å¾ã®ãã¹ãã«ã¤ãã¦ãèªåå
AWSã®ãªã½ã¼ã¹æ§æãServerspecã®ããã«ãã¹ãã§ãã "awspec" ãã¤ããã¾ããã github.com ä¾ãã°EC2ã¤ã³ã¹ã¿ã³ã¹ã§ããã°ã以ä¸ã®ããã«æ¸ãã¾ãã describe ec2('my-ec2') do it { should exist } it { should be_running } it { should_not be_stopped } its(:instance_id) { should eq 'i-ec12345a' } its(:private_ip_address) { should eq '10.0.1.1' } it { should have_security_group('my-security-group-name') } it { should belong_to_vpc('my-vpc') } it { should belon
ä¸é¨ã®ãµãã·ã¹ãã ã®æ§ç¯ã§ããããã¸ã§ãã³ã°ãã¼ã«ãæ¨ã¦ã¦ã¿ãããããã©ãããã®ãã¨ããã¨ã·ã§ã«ã¹ã¯ãªããã§ãããä»åã¯ãã®ãããããä¸çªæ¥½ã§ãããããªæ°ãããã®ã§è©¦ãã¦ããã å ·ä½çã«ã¯Packerããã·ã§ã«ã¹ã¯ãªããã¨Serverspecãå®è¡ãã¦AMIãç ®è¾¼ããããããã§ãããã£ããããã¤ããæ§ç¯ãããããã«ã¦ã§ã¢ããä¸ã®å±¤ã®ã³ã³ãã£ã°é¡ã«å¤æ´ããã£ããã¾ãç ®è¾¼ããæ§ç¯ãããæ°ããæ¹ã«åãæ¿ãããã¤ã¾ãâæ¨ã¦ãã¤ã³ãã©âã«ããã ãã©ãããã©ã¼ã ã¯AWSã (追è¨)ã¡ãªã¿ã«chefãªã©ã®ãããã¸ã§ãã³ã°ãã¼ã«ãããã©ãããããã·ã§ã«ã¹ã¯ãªããã«ããã¨ããããã¯ãæ¨ã¦ãåæã®ãµã¼ãã ããã·ã§ã«ã¹ã¯ãªããã§ã®æ§ç¯ã鏿è¢ã¨ãã¦åºã¦ããã¨ãããã¨ã§ãããã èªåå人ã®å好ã¨ãã¦chefã¯ãã飽ããã¨ããã®ãäºå®ã§ãããªãããªã³ãã¬ã ã¨åããµã¼ãã§ç¶ç¶ãã¦ãããã¸ã§ãã³ã°ãããã¨ã«ãªãã®ã§ch
Serverspecæ¬ã®ç®æ¬ãããã¨ããããã¾ããï¼ã¨ã¦ãé¢ç½ãã£ãã§ãï¼è©³ããæ¸è©ã¯ãã§ã«ç´ æ´ãããè¨äºãããã¤ãããã®ã§ï¼åã¯ç¾ãã¼ã ã§ã©ã®ããã«Serverspecãå°å ¥ãããï¼ã©ã®ããã«ä½¿ã£ã¦ãããã«ã¤ãã¦æ¸ãããã¨æãã¾ãï¼ Serverspecå°å ¥ã®èæ¯ ä»ã®ãã¼ã ã§ã¯ãµã¼ãã¼ã®ã»ãã¢ããããã³ãããã¤ã«Chefã使ã£ã¦ããï¼æ¬ã«ãæ¸ããã¦ããããã«ãã®ãããªæ§æç®¡çãã¼ã«ã使ã£ã¦ããå ´åã¯ãã®ãã¼ã«ãä¿¡é ¼ããã¹ãã§ããï¼Serverspecã®ãããªãã¹ããã¼ã«ã¯å¿ è¦ãªãï¼åãã®ãã¼ã ããã®ãããªçç±ã§Serverspecã®å°å ¥ã«ã¯è³ã£ã¦ããªãã£ãï¼ ãããã¢ããªã±ã¼ã·ã§ã³ãè¤éã«ãªãChefã®ã¬ã·ããæ··æ²ã¨ããããã«ãªãã¨ããã¯æç«ããªããªãï¼è¦éãã®æªãã¬ã·ãã¯Chefã¸ã®ä¿¡é ¼åº¦ãè½ã¨ãï¼ä¿¡é ¼åº¦ã®ä½ä¸ã¯ãããã¤ä¸ä¿¡ã«ç¹ãã人æï¼çèï¼ã«ãããã¹ããå§ã¾ãï¼ ãµã¼ãã¼ã®æ°ãã
serverspec-runnerã¨ã¯ï¼ ã¤ã³ãã©ã®ç¶æ ããã¹ããããã¬ã¼ã ã¯ã¼ã¯serverspecãè¤æ°ã®ãã¹ãã«å¯¾ãæ°è»½ã«ä½¿ãã¦ãããããããçµæã表示ãããã¼ã«ã§ãã 詳ããã¯âãã¡ã serverspec-runnerã使ã£ã¦è¤æ°ã®ãã¹ãã®ãã¹ãã¬ãã¼ããä½ã serverspec-runner@github.com ç¬èªãªã½ã¼ã¹ã使ãçç± serverspec-runnerã¯serverspec.orgã®ãªã½ã¼ã¹ã«æºæ ãã¦ãã¾ãã serverspecã使ãè¾¼ãã§ããã¨ãã©ããã¦ãçµã¿è¾¼ã¿ã®ãªã½ã¼ã¹ã§ã¯è¶³ããããã®å ´åã¯commandãªã½ã¼ã¹ã«ããã³ãã³ãã©ã¤ã³ãã·ã§ã«ã¹ã¯ãªããã®å®è¡ã«ãªã£ã¦ãã¾ããã³ã¼ãã®åå©ç¨æ§ãå¯èªæ§ãä¸ãã£ã¦ãã¾ããããç¬èªã®ãªã½ã¼ã¹ã使ã£ãæ¹ãè¯ãã±ã¼ã¹ãåºã¦ãããã¨æãã¾ãã serverspecã®ãªã½ã¼ã¹æ¡å¼µã«ã¤ã㦠serverspecã®æ¡å¼µæ¹
Monitor-Driven Development Using AnsibleAI-enhanced description The document discusses best practices for using Ansible in infrastructure development, emphasizing the importance of treating Ansible scripts with the same rigor as application code, including automated testing and version control. It details the necessity of automation to ensure scalability and consistent environments while promoting
[Infrataster] Infratasterã§Nginxã®ã«ã¼ãã£ã³ã°ã®ãã¹ãæ¸ãã¦ããµã¼ãã¼ã®ãã¹ãã¯Serverspecã§æ¸ãã¦ãããã ãã©ãNginxã®è¨å®ãã¡ã¤ã«ã§æ¸ãã¦ããã¦ã§ããµã¼ãã¼ã®ã«ã¼ãã£ã³ã°ã®ãã¹ããã©ãããããã¨æã£ã¦ãã¾ãããèªåã§ãç°¡åãªãã¼ã«ã§ãæ¸ãã¹ãããªãã¨ã /path/to/app ã§ã¢ããªã±ã¼ã·ã§ã³ã«ããã¯ã·ã¼ãã ä½ãcookieããªãå ´åã¯éçãã¡ã¤ã«ããµã¼ããã /path/to/static/file ã§éçãã¡ã¤ã«ãNginxãç´æ¥ãµã¼ããã /path/to/health/check ã§ãã«ã¹ãã§ãã¯ç¨ã®ã¬ã¹ãã³ã¹ãè¿ããä½ãHTTPãããã¼ãè¦ã¦æ®éã®ãã©ã¦ã¶ã¼ã¢ã¯ã»ã¹ã§ã¯Forbiddenã«ãã ãã¼ãã£ã«ãã¡ã¤ã³ãã¨ã«å¾®å¦ã«ãã¹ã¨ããéã ã¿ãããªã«ã¼ãã£ã³ã°ã®ãã¹ãã¯ãå¤å´ããã®ãã¹ããªã®ã§ã¡ãã£ã¨Serverspecã®ã¹ã³ã¼
RSpec::Matchers.define :have_mysql_entry do |entry| match do |subject| if subject.class.name == 'Serverspec::Type::File' @content = subject.content if @value !! @content.lines.find {|line| line =~ /^\s*#{entry}\s*=\s*#{@value}\s*$/ } else !! @content.lines.find {|line| line =~ /^\s*#{entry}\s?=/ } end else raise "have_mysql_entry matcher should target to file resource" end end chain :with_value do
å 容èªä½ã¯åºæ¬çã«ã第5å¼¾ 鱿«ã©ã³ãµã¼ãº ã«ãéªéããæã« ã話ããè³æ ã¨åããªãã§ããããã®æãããæéãå°ãé·ãã£ãã®ã§ãå¤å°å 容ã追å ãã¦ããã®ã¨ã彿èªåã®ä¸ã§ãã¾ãæ´çã§ãã¦ãªãã£ããã©ãä»ã¯å¤å°ã¯ãªã¢ã«ãªã£ãé¨åããã£ã¦ããããã£ãå 容ãçãè¾¼ãã ããã¦ã¿ã¾ããã Togetter ã¾ã¨ã NAMIKAWA ããã«ããã¾ã¨ã ä¸ç¹ãè©«ã³ãããã®ã¯ãç»å£è ã«è³ªåãã§ãã Ask the Speaker ã¨ããã³ã¼ãã¼ããã£ã¦ãã»ãã·ã§ã³ãçµãã£ãå¾ã¯ãã¡ãã«ç§»åãã¨ããæ®µåãã ã£ãã®ã§ãããè£ã§ãã£ã¦ãã OSS ã³ããã¿å¤§éå ã®æ¹ã§ãç»å£ããããã«çµäºå¾ããã« E ä¼å ´ã«åãã£ããããAsk the Speaker ã³ã¼ãã¼ã«è¡ãã¾ããã§ããããã質åããããã«ãããã¦ãã ãã£ãæ¹ããã¾ããããæ¬å½ã«ç³ã訳ãªãã§ãã ä»åãããµãã«ç»å£ããã¦é ããçµç·¯ã«ã¤ãã¦ã¯ãä¼å ´ã§
serverspecã¨docker-apiã§DockerfileãTDD ããã¤ãDockerfileãæ¸ãã¦ããï¼ä»æ¸ãã¦ããDockerfileã¯çãã¦ã·ã³ãã«ãªãã®ã°ããã ãï¼ãã£ã¨é·ãè¤éåããæã«ä¸å®ã«ãªãããã ï¼ä¸å®ãè§£æ¶ããã«ã¯ãã¹ããããªãï¼ããã«ãã¹ãé§åçã«Dockerã¤ã¡ã¼ã¸ãéçºã§ãããç´ æµã ï¼ã¤ã¾ãï¼ ãã¹ããæ¸ã Dockerã¤ã¡ã¼ã¸ã使ãã¦ï¼ãã¹ãã®å®è¡ -> RED Dockerfileã®ç·¨é Dockerã¤ã¡ã¼ã¸ã使ãã¦ï¼ãã¹ãã®å®è¡ -> GREEN ãã¹ããâ¦ ã®æµããã§ããã¨ããï¼ ã¨ãããã¨ã§ï¼RSpecã使ã£ã¦TDDã§Dockerfileãéçºããã¨ããã®ããã£ã¦ã¿ãï¼tcnksm/docker-rspecï¼ä»åå®ç¾ããã®ã¯ä»¥ä¸ï¼ Docker Remote APIã§Dockerfileç¹æã®ã³ãã³ã(e.g, CMDãEXPOSE)ã®RSp
æè¿ã¯æ å½ã·ã¹ãã ãå¹³åã ãã©ä¿ºãå¹³åãããªããç²ãã¦ããå¿å¹´ä¼ã®é£ãã£ã³ããã£ã¤ããã·ã«ãªã£ã¡ã¾ã£ããä¼ç¤¾ã®å¶åº¦ã§1é±éãããä¼ã¿ãã¨ããã®ã§ãä¸äººã§æ¸©æ³ã¨ã¹ããã¨éçºå宿ã§ããã«åæµ·éã«ã§ãè¡ããããªã£ã¦æã£ã¦ãã1æã2æãããã«ã ãã¼ã¨ãæ å½ãã¦ãããµã¼ãã¹ã«serverspecãå°å ¥ãããããã«ããã£ã¦ãã¹ãé ç®ãèããã®ã§è»½ãã¾ã¨ããããã¡ããserverspecå°å ¥åããµã¼ãæ§ç¯å¾ã¯åä½ç¢ºèªã¨ãããããã¹ãããããã¨ã¯ãã¦ããã£ã¡ããã¦ãããã ãã©ããã¹ãé ç®ãã¾ã¨ãã«èããã®ã¯ãããåãã¦ãããããªããserverspecã®ãã¼ã¸ã§ã³ã¯0.13.2ã§ãããRubyã¯2.0.0ã 0. ç°å¢ ä¸è¨ã®ãããªç°å¢ã«å°å ¥ããããããµããæ§æã ã¨æãã60å°ãããã®è¦æ¨¡ãDBã¯ãã¹ã¿3å°ã«åå²ããã¦ãã¦ãããããã«ã¹ã¬ã¼ããnå°ã¶ãããã£ã¦ãããLBã®ç®±ã¯äºã¤ããããç©ççã«ã¯1å°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}