> For the complete documentation index, see [llms.txt](https://docs-epc.gitbook.io/ncs-documents/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-epc.gitbook.io/ncs-documents/compute/deployment-script/create-a-deployment-script.md).

# Create a Deployment Script

วิธีการสร้าง deployment script

เพื่อให้การ spawn application instance ที่มี setting และติดตั้ง application ซ้ำๆ ทำได้ง่ายขึ้น คุณสามารถสร้างขั้นตอนการ setup และ ติดตั้ง application ต่างๆ ในรูปแบบของ cloud-config หรือ x-shellscript ได้

## Prerequisite

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

## Instructions

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

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

### 2. คลิกปุ่มสร้าง Deployment Script

คลิกปุ่ม "CREATE" ที่ด้านขวาบนของหน้า จะปรากฏหน้าต่าง create deployment script ขึ้นมา

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FK0VDaXQhR4CzKiiB0VdP%2Fimage.png?alt=media&amp;token=a0f21646-5afc-471c-bbf4-057fe9ffe1a8" alt=""><figcaption></figcaption></figure>

### 3. กำหนดค่าต่าง ๆ ของ 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>) และ x-shellscript (ศึกษาการเขียนเพิ่มเดิมได้จาก <https://www.shellscript.sh/>)
5. Script : script ที่ตาม script type ที่เลือกไว้&#x20;

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

### 4. ตรวจสอบและยืนยันการสร้าง deployment script

ตรวจสอบรายละเอียดต่าง ๆ ที่กรอกให้เรียบร้อย

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

<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&amp;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&amp;token=24fb6441-8686-4d56-bded-637269ed1174" alt=""><figcaption></figcaption></figure>
