# Edit a Deployment Script

สามารถแก้ไขหรือ update deployment script ที่สร้างขึ้นเองใน project ได้ แต่ไม่สามารถแก้ไข script ที่ระบบ NCS สร้างเอาไว้ได้ หากต้องการแก้ไข script ที่ระบบ NCS สร้างเอาไว้ จะต้อง [clone](clone-a-deployment-script) มาเป็นของตัวเองก่อน

## Prerequisite

* มียอดคงเหลือใน Project มากกว่า 0 บาท หากไม่มี ศึกษาวิธีเติมเงินได้ที่ [ขั้นตอนการเติมเงินเข้าสู่ Project](https://docs-epc.gitbook.io/ncs-documents/nipa-cloud-space-overview/billing-and-wallet/topup-a-project-wallet)
* มี deployment script ที่สร้างไว้ใน project อยู่ในรายการ deployment script อย่างน้อย 1 script

## Instructions

### 1. เข้าสู่หน้า Deployment Scripts

ที่แถบเมนูทางซ้าย คลิกเลือกเมนู​ COMPUTE > Deployment Scripts เพื่อเข้าสู่หน้า Deployment Scripts&#x20;

### 2. เลือกเมนู Edit&#x20;

เลือกรายการ deployment script ที่ต้องการ edit แล้วคลิกปุ่ม MORE > Edit เพื่อเปิดหน้าต่าง Edit Deployment Script

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FSXrePWNmAJf1cmZ6CJDz%2Fimage.png?alt=media&#x26;token=faa3333d-adbe-45fb-9b65-108b0d0bd43f" alt=""><figcaption></figcaption></figure>

### 3. กำหนดค่าต่างๆ ของ Deployment Script

ที่หน้า clone deployment script สามารถแก้ไขรายละเอียดต่าง ๆ ของ deployment script ใหม่ได้ ดังนี้

1. Name : ชื่อของ script ที่จะแสดงใน list และ แสดงในหน้า launch instance
2. Base Image : เลือก image ที่จะใช้เป็น base ในการ launch instance ก่อน run script
3. Min Disk : ไซส์ต่ำสุดของ volume ที่จะ boot script นี้ได้ โดยค่าเริ่มต้นจะอ้างอิงมาจาก base image แต่สามารถเปลี่ยนแปลงได้
4. Script Type : ประเภทของ script แบ่งเป็น 2 ประเภทคือ cloud-config (ศึกษาการเขียนเพิ่มเติมได้จาก [https://cloudinit.readthedocs.io/en/latest/explanation/format.html](https://cloudinit.readthedocs.io/en/latest/explanation/format.html)) และ x-shellscript (ศึกษาการเขียนเพิ่มเดิมได้จาก [https://www.shellscript.sh/](https://www.shellscript.sh/))
5. Script : script ที่ตาม script type ที่เลือกไว้&#x20;

{% hint style="info" %}
หาก base image ถูกลบออกจากระบบ deployment script นี้จะไม่แสดงในหน้า launch instance จนกว่าจะมีการ [update](edit-a-deployment-script) base image เป็น image ที่มีอยู่จริงในระบบ
{% endhint %}

### 4. ตรวจสอบและยืนยันการ Edit Deployment Script

ตรวจสอบรายละเอียดต่าง ๆ ที่กรอกมาให้ครบถ้วน จากนั้นคลิกปุ่ม 'CONFIRM'&#x20;

Script ที่ถูกแก้ไขแล้ว จะแสดงในรายการของ deployment script และใน source ของหน้า launch instance

{% hint style="info" %}
การ edit deployment script จะไม่ส่งผลกับ instance ที่เคย launch โดยใช้ script นี้ แต่จะส่งผลกับ instance ที่จะ launch ต่อจากนี้เท่านั้น
{% endhint %}

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FLSrmG6ljK1gHsVx5LQM1%2Fimage.png?alt=media&#x26;token=33c153b8-e3d6-4337-91d9-507a7634bdbc" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FXqnbcNivb3uV6vNOZuLC%2Fimage.png?alt=media&#x26;token=24fb6441-8686-4d56-bded-637269ed1174" alt=""><figcaption></figcaption></figure>
