오늘 우리가 얘기 한 Mountain West DevOps에서 돌아 오면 로트입니다. (구체적으로는 아니지만 일반적으로)
간결하게 말하면 내가 말할 수있는 것은 다음과 같습니다.
높은 사용률을 얻지 못하는 간단한 응용 프로그램의 경우 수동으로 인스턴스를 회전시키고 그 위에 바이너리를 올려 놓은 다음 실행하면 완료됩니다. (프로덕션 플랫폼에서 개발하지 않는 경우 Go 바이너리를 크로스 컴파일 할 수 있습니다.)
약간 더 자동화하려면 최신 이진 파일을 업로드하여 EC2 인스턴스로 실행하는 Python 스크립트를 작성해야합니다 boto/ssh 사용).
Go 프로그램은 일반적으로 매우 안전합니다 (특히 test 인 경우). 안정성을 높이기 위해 바이너리를 서비스 (daemonize) 할 수 있으므로 어떤 이유로 든 다시 작동합니다.
더욱 자율성을 위해 Jenkins 또는 Travis와 같은 CI 유틸리티를 사용하십시오. 특정 분기에 코드를 적용하거나 태그를 적용 할 때 배포 스크립트를 자동으로 실행하도록 구성 할 수 있습니다.
더 강력한 자동화를 위해 다른 노치를 사용하고 Packer 또는 Chef과 같은 도구를 사용할 수 있습니다. 나는 당신의 요구가 정말로 과격하지 않다면 Packer로 시작할 것입니다. Packer 개발자는 오늘 그것에 대해 이야기했고 간단하고 강력 해 보입니다. 요리사는 여러 회사에서 일하지만 과장 될 수 있습니다.
Go 프로그램의 기본 개념은 프로덕션 서버에 바이너리를 복사하고 실행해야한다는 것입니다. 그것은 간단합니다. 요구 사항 및 선호하는 워크 플로우에 따라이를 자동화하거나 안정적으로 수행하는 방법은 귀하의 책임입니다.
추가 읽기 : http://www.reddit.com/r/golang/comments/1r0q79/pushing_and_building_code_to_production/ 구체적으로는 https://medium.com/p/528af8ee1a58