Eğer yönetilen hizmetleri AWS ile kendisine alırsınız yakın CodeDeploy olduğunu. Bununla birlikte, dağıtımı EC2 örneklerinde komut satırı veya web konsolu üzerinden düzenleyebilirsiniz. Ancak CodeDeploy, sadece şu ana kadar S3 veya GitHub'daki eserleri çeker. Artık, CodeCommit tamamen CodePipeline ve CodeDeploy gibi ilgili başka Amazon hizmetlerinden izole gibi görünüyor, yüzden iyi bir seçim gibi görünmüyor. Ancak, elbette, Amazon yol haritası tüm bunları entegre etmektir (bunu yapmamak anlamsız olacaktır). Yani, şimdi righ, GitHubCodeCommit kullanarak daha iyi olurdu. Gözönünde
Ancak,
GitHub kullanılarak değildir, daha sonra, olasılıkla iterek, yapı ya da testler, kaynak kod çekerek, bir
Cl (sürekli entegrasyon) Deponun arasında çözeltisi ve
CodeDeploy mi
S3 ve bunun hakkında
CodeDeploy anlatıyor. Örneğin,
CodeShip var, bunu yapabiliyor ve birçok harici servis ile entegre oluyor. Ya da sizin için
CI sunucunuza sahip olabilirsiniz,
Jenkins, sizin için bu "tutkal" rolünü yapıyor. (Jenkins muhtemelen en esnek olanıdır çünkü açık kaynaklıdır ve her şey için eklentileri olabilir.)
Yani, biraz parçalayarak, iş akışı böyle bir şey olurdu: En deposuna
- itme kodu; CI CI, bir olay olduğunda (bazı dallarda veya yeni bir etikette, yapılandırılabilir olmalıdır) her ne zaman isterseniz, istediğinizi veya gereksinim duyduğunuz (çalıştıran, test eden, paketleyen) ve iter. S3 (genellikle bir tarball dosyası olarak); Bir şeyleri belirledik biçimine göre
- , sizin CI örneklerini hemen EC2 üzerinde dağıtmak Kod Dağıt söyler, yoksa sadece yeni bir sürümü mevcut var söyler ve dağıtmaya tetiklemek için izin verir manuel olarak, web konsolunda CLI üzerinden, istediğiniz zaman.
(Aslında CodeDeployEC2 örneklerini kodunu itmek değildir. Bunun yerine, her EC2 örneği bilmek için havuzları düzenli CodeDeploy sunucu bir ajan çalıştırmalısınız yeni bir şey için varsa olmak, neyse. lokal CodeDeploy koordinatları uygulanmış ve ajanların geri bildirim almak, bu yüzden örneklerini tarafında yan ve% 100 pasif % 100 etkindi CodeDeploy sanki çok işe yarıyor.)
>CodePipeline - ->CodeDeploy, ya da sadece CodeCommit-en "temiz" AWS çözüm CodeCommit olacağını>CodeDeploy, ancak bu hizmetler tamamen entegre değildir şimdi. >CodeDeploy - Senin durumunda
, en basit ve uygulanabilir bir çözüm şu anda Github olurdu. Bundan farklı bir şey, yoldaki bazı ara adımları gerektirecektir (örneğin, verdiğim örnekler gibi (CodeShip, Jenkins, vb).
Soruyu sorduğumda bu cevabı geri alsaydım. Sonunda EC2 filomda git clone komutlarını çalıştırmak için Fabric'i kullandım. –
Bunu deneyen ve "profil varsayılanı bulunamadı" ile sorun yaşıyorsanız boş bir profil belirtmek için '' ''seçeneğini kullanın. Profiliniz EC2 örneğindeki '$ AWS_DEFAULT_PROFILE 'ortam değişkeninde saklanabilir/saklanmalıdır. –
@RobbieAverill "--profile default" bitini tamamen bırakabilirsiniz (ve varsayılan profiliniz yoksa varsayılan olarak ayarlanmıyorsa) –