Yalnızca komut dağıtım paketi, herhangi bir kaynak dosya gerektirmeden uygulamayı tamamen betikler aracılığıyla dağıtır.
Çalışma mantığı
Auto Scaling (ESS) grubuna dağıtım yapıyorsanız, dağıtım sırasında ölçeklendirme etkinlikleri duraklatılır ve sonuç ne olursa olsun dağıtım tamamlandığında otomatik olarak devam eder.
Her dağıtım, önce durdur sonra başlat sırasını izler: Önce durdurma betiği çalışır, ardından başlatma betiği çalışır.
-
Bir dağıtım oluşturun ve yayınlayın.
OSS'deki uygulamanın kaynak dosya konumunu başlatma ve durdurma betikleriyle birlikte belirtin.
Bir sürüm görevi oluşturun, bir sürüm modu seçin ve dağıtımı hedef uygulama grubuna yayınlayın.
-
Otomatikleştirilmiş dağıtım süreci şu şekilde çalışır:
Hizmet, başlatma ve durdurma betikleri dahil olmak üzere dağıtım paketi bilgilerini alır.
Hizmet, önceki uygulama sürümünü durdurmak için durdurma betiğini yürütür.
Hizmet, yeni uygulama sürümünü başlatmak için başlatma betiğini yürütür.
Kullanım notları
Dağıtımlar yalnızca Linux örneklerinde desteklenir.
Başlatma ve durdurma betikleri kabuk betiği olmalıdır.
Yordam
Java uygulama örneği
-
Bir uygulama oluşturun ve Elastic Compute Service (ECS) örneklerinizi içe aktarın.
-
Bir ECS örneğiniz yoksa ECS konsolu - Özel Başlatma sayfasına giderek bir Linux ECS örneği oluşturun.
Aşağıdaki örnek betikler bu görüntüler içindir. Farklı bir görüntü kullanıyorsanız betikleri buna göre değiştirmeniz gerekir.
ECS konsolu - Uygulama yönetimi sayfasına gidin ve bir uygulama ile bir uygulama grubu oluşturup ECS örneğini uygulama grubuna içe aktarmak için Create from Existing Resources öğesine tıklayın.
-
-
Bir dağıtım paketi oluşturun.
ECS konsolu - Uygulama yönetimi sayfasına gidin. Uygulamalarım sekmesinde hedef uygulamanızın adına tıklayın.
Uygulama ayrıntıları sayfasında Deployment sekmesini seçin ve ardından Create Deployment öğesine tıklayın.
-
Create Deployment sayfasında Deployment Package Type değerini Run Command olarak ayarlayın, parametreleri yapılandırın ve ardından OK öğesine tıklayın.
Çalışma dizini: Başlatma ve durdurma betikleri için çalışma dizinini belirtin. Örnek:
/root/deploy.-
Alibaba Cloud Linux
start_application() { set -e curl -O https://oos-public-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/code-deploy/sample-spring-1.0-SNAPSHOT.jar yum install -y maven-3.5.4 java -jar ./sample-spring-1.0-SNAPSHOT.jar & } start_applicationUbuntu
start_application() { set -e curl -O https://oos-public-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/code-deploy/sample-spring-1.0-SNAPSHOT.jar apt update apt install -y maven java -jar ./sample-spring-1.0-SNAPSHOT.jar & } start_application -
### Stop the application (if any) stop_application() { PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}') if [ -n "$PID" ]; then kill -9 $PID fi } stop_application
Dağıtım listesine geri dönün, oluşturduğunuz dağıtımı bulun ve Deploy öğesine tıklayın. Hedef grubu seçin ve dağıtımı başlatmak için OK öğesine tıklayın.
-
Sonucu doğrulayın.
Hedef örneğin ayrıntılar sayfasına şuraya gidin: Bağlanın. Connect öğesine tıklayın ve Workbench öğesini seçin. Terminale erişmek için ekrandaki yönergeleri izleyin.
curl http://localhost:8080/hellokomutunu çalıştırın.Alibaba Spring Sample!yanıtı, başarılı bir dağıtımı gösterir.
Docker uygulama örneği
-
Uygulamayı, grubu ve ECS örneklerini hazırlayın.
Dağıtım yapmadan önce ECS Uygulama Yönetimi'nde bir uygulama ve bir grup oluşturun. Ardından ECS örneklerinizi gruba ekleyin.
-
Bir ECS örneğiniz yoksa ECS konsolu - Özel Başlatma sayfasına giderek bir Linux ECS örneği oluşturun.
Aşağıdaki örnek betikler bu görüntüler içindir. Farklı bir görüntü kullanıyorsanız betikleri buna göre değiştirmeniz gerekir.
ECS konsolu - Uygulama yönetimi sayfasına gidin ve bir uygulama ile bir uygulama grubu oluşturup ECS örneğini uygulama grubuna içe aktarmak için Create from Existing Resources öğesine tıklayın.
-
Gruptaki ECS örneklerine Docker yükleyin. Uygulama grubunun O&M sekmesinde Docker'ı toplu iş olarak yüklemek için ACS-ECS-BulkyConfigureOOSPackageWithTemporaryURL öğesini seçin.
ECS örneğiniz özel bir görüntüden oluşturulduysa uzantıları bu şekilde yükleyemezsiniz. Örneğe uzaktan bağlanmanız ve Docker'ı manuel olarak yüklemeniz gerekir.
-
-
Bir dağıtım paketi oluşturun.
-
Örnek görüntüyü yerel makinenize çekin ve ardından görüntüyü ACR Kişisel Sürüm deponuza gönderin.
docker pull aliyun-computenest-opensource-registry.cn-hangzhou.cr.aliyuncs.com/default/aliyun-code-deploy:latest ECS konsolu - Uygulama yönetimi sayfasına gidin. Uygulamalarım sekmesinde hedef uygulamanızın adına tıklayın.
Uygulama ayrıntıları sayfasında Parametreler sekmesini seçin ve Create Parameter öğesine tıklayın. ACR Kişisel Sürüm kullanıcı adı ve parolası için
usernamevepasswordadlarında iki parametre oluşturun. Güvenliği sağlamak içinpasswordparametresini şifrelenmiş bir parametre olarak ayarlayın.Uygulama ayrıntıları sayfasında Deployment sekmesini seçin ve ardından Create Deployment öğesine tıklayın.
-
Create Deployment sayfasında Deployment Package Type değerini Run Command olarak ayarlayın, parametreleri yapılandırın ve ardından OK öğesine tıklayın.
Çalışma dizini: Başlatma ve durdurma betikleri için yürütme dizinini belirtin. Örnek:
/root/deploy.-
Uygulama başlatma betiği:
<repo>ve<image>yer tutucularını ACR Kişisel Sürüm depo ve görüntü değerlerinizle değiştirin.repoACR Kişisel Sürüm deponuzun adresidir veimagegörüntünün tam adıdır. Bu iki alanın değerlerini başlatma betiğindeki ilgili parametrelerle değiştirin.### Start the current version of the application start_application() { repo="<repo>" image="<image>" container_name="my-container" docker login --username=${username} --password=${password} $repo docker pull $image docker run -d -p 8080:8080 --name $container_name $image } start_application -
### Stop the container (if any) stop_application() { # Find the container by name and remove it if it exists. container_name="my-container" container_id=$(docker ps -aq -f name=${container_name}) if [ -n "$container_id" ]; then docker rm -f $container_id fi } stop_application
-
Dağıtım listesine geri dönün, oluşturduğunuz dağıtımı bulun ve Deploy öğesine tıklayın. Hedef grubu seçin ve dağıtımı başlatmak için OK öğesine tıklayın.
-
Sonucu doğrulayın.
Hedef örneğin ayrıntılar sayfasına şuraya gidin: Bağlanın. Connect öğesine tıklayın ve Workbench öğesini seçin. Terminale erişmek için ekrandaki yönergeleri izleyin.
curl http://localhost:8080/hellokomutunu çalıştırın.Alibaba Spring Sample!yanıtı, başarılı bir dağıtımı gösterir.
Anahtar parametreler
|
Parametre |
Açıklama |
|
Çalışma dizini |
Başlatma ve durdurma betikleri için çalışma dizini.
|
|
Uygulama başlatma betiği |
Uygulamayı başlatan bir kabuk betiği. |
|
Uygulama durdurma betiği |
Uygulamayı durduran kabuk betiği. Örneğin, aşağıdaki betik
|