Go to file
ssung 7b2d2529f3 ADD: Add test code. 2023-10-23 16:56:29 +09:00
README.md ADD: Add test code. 2023-10-23 16:56:29 +09:00
app-setting.sh ADD: Add test code. 2023-10-23 16:56:29 +09:00
config1.json ADD: Add test code. 2023-10-23 16:56:29 +09:00
config2.json ADD: Add test code. 2023-10-23 16:56:29 +09:00
example-app.service ADD: Add test code. 2023-10-23 16:56:29 +09:00
install.sh ADD: Add test code. 2023-10-23 16:56:29 +09:00
main.py ADD: Add test code. 2023-10-23 16:56:29 +09:00

README.md

SDTcloud App Format

SDTcloud 앱을 만들기 위한 앱 포맷입니다.


코드 내용

  • SDTcloud에 앱을 동작시키기 위해서는 앱을 실행하는 코드에 다음 내용이 포함되어 있어야 합니다.
  • Config 파일 Load path를 고정된 위치에서 가져오도록 코드를 작성해야 합니다.
  • 즉, SDTcloud의 앱은 "/usr/local/sdt/app" 디렉토리에 보관되고 관리 되므로, "/usr/local/sdt/app/앱이름/config.json" 경로와 같이 config 파일을 읽도록 코드를 작성해야 합니다.
  • 또한, 앱이름은 사용자가 배포할 때마다 앱의 이름이 변경될 수 있으므로 프로세스가 매개변수를 입력받아 동적으로 변경가능하도록 설계 해야 합니다.
  • 예를 들어 python의 경우 앱을 실행할 때, 앱이름을 매개 변수로 입력 받아서 실행하도록 설계 되어야 합니다.
python3 main.py -config example-app 

파일 구성

  • 앱을 만들기 위해 SDT Cloud는 Linux 시스템의 Systemd를 사용합니다. 따라서, 앱은 Systemd를 통해서 실행되어야 하므로 실행 파일은 다음 구성으로 준비되어야 합니다.
  • 앱 실행 파일: main.py (실행하고자 하는 앱의 코드 종류에 맞게 실행 파일이 있어야 함)
  • 앱을 실행하기 위한 Systemd 파일: app.service

Setting

  • 배포하고자 하는 앱이 Python이며, 실행 파일은 main.py이고 config 파일이 pyConfig.json 이며, 이 앱의 이름을 example-app으로 앱을 저장할 것이라면,
  • 앱을 저장하기 위해 다음 명령어로 셋팅해야 합니다.
$ mv config1.json pyConfig.json
$ vi pyConfig.json -> config 값 수정
$ ./app-setting.sh example-app
  • 위 작업이 완료되면 앱이 SDT cloud에 배포하기 위한 기본적인 앱 파일 구조가 생성된 것 입니다.
  • 이후, 본인이 만들고자 하는 앱을 Systemd에 정상적으로 동작시키기 위해 service 파일을 수정합니다.
  • 앱 이름을 example-app으로 했으므로...
$ vi example-app.service
[Unit]
Description=sdt-cloud-app

[Service]
ExecStart=/usr/bin/python3 /usr/local/sdt/app/appName/main.py -config appName -> 내용 수정!!
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
  • service 파일에서 'ExecStart' 옵션을 본인이 배포하는 앱의 코드 언어에 맞게 수정합니다.
  • 여기서 주의 해야할 점은 '/usr/local/sdt/app/appName/', '-config appName' 값은 수정해서는 안됩니다.
  • 수정 완료 후, 생성한 앱을 SDT cloud의 gitea에 저장합니다.