Tôi biết tôi có thể đặt lệnh trong mã nguồn của mình bằng .ebextensions/*. Config bằng mảng commands
. Chúng được thực hiện trên mỗi triển khai. Điều gì sẽ xảy ra nếu tôi muốn thực hiện một lệnh cấu hình chỉ một lần khi quay lên một cá thể mới?Nơi đặt các lệnh cấu hình Beanstalk Elastic mà chỉ chạy một lần trên spin-up?
15
A
Trả lời
34
Lệnh có thể chạy theo điều kiện bằng cách sử dụng công cụ sửa đổi test:
. Bạn chỉ định một thử nghiệm sẽ được thực hiện. Nếu kiểm tra trả về 0, lệnh được chạy, nếu không nó sẽ không chạy.
Nếu lệnh cuối cùng trong tệp cấu hình của bạn chạm vào tệp và các lệnh ở trên mà bạn chỉ muốn chạy khi kiểm tra sự tồn tại của tệp đó thì các lệnh đó sẽ chỉ chạy lần đầu tiên.
commands:
01-do-always:
command: run_my_script
02-do-on-boot:
command: script_to_run_once
test: test ! -f .semaphore
99-signal-startup-complete:
command: touch .semaphore
Trên Windows nó sẽ là một cái gì đó giống như
commands:
01-do-always:
command: run_my_script
02-do-on-boot:
command: script_to_run_once
test: if exists c:\\path\\to\\semaphore.txt (exit 0) else (exit 1)
99-signal-startup-complete:
command: date > c:\\path\\to\\semaphore.txt
đẹp giải pháp này, nhờ @Jim! –
Bạn sẽ làm điều tương tự như thế nào nhưng trên máy chủ Windows? Cú pháp khác nhau như thế nào? Cảm ơn. – SSED
Cập nhật bài đăng bằng ví dụ Windows. –