# 자체 호스트형 런너 애플리케이션을 서비스로 설정

컴퓨터가 시작될 때 실행기 애플리케이션을 자동으로 시작하도록 자체 호스트형 실행기 애플리케이션을 서비스로 구성할 수 있습니다.

<div class="ghd-tool linux">

> \[!NOTE]
> 자체 호스팅 러너 애플리케이션을 서비스로 구성하려면 먼저 GitHub에 러너를 추가해야 합니다.
> 자세한 내용은 [자체 호스트형 실행기 추가](/ko/actions/how-tos/manage-runners/self-hosted-runners/add-runners)을(를) 참조하세요.

`systemd`를 사용하는 Linux 시스템의 경우 실행기를 성공적으로 추가한 후 만든 `svc.sh` 스크립트를 사용하여 애플리케이션을 서비스로 사용하여 설치하고 관리할 수 있습니다.

러너 머신에서 자체 호스팅 러너 애플리케이션을 설치한 디렉터리에서 셸을 엽니다. 아래 명령을 사용하여 자체 호스팅 실행기 서비스를 설치하고 관리합니다.

</div>

<div class="ghd-tool windows">

> \[!NOTE]
> 자체 호스팅 실행기 애플리케이션을 Windows의 서비스로 구성하는 것은 애플리케이션 구성 프로세스의 일부입니다. 자체 호스팅 실행기 애플리케이션을 이미 구성했지만 이를 서비스로 구성하도록 선택하지 않은 경우, GitHub에서 실행기를 제거한 후 애플리케이션을 다시 구성해야 합니다. 애플리케이션을 다시 구성할 때 애플리케이션을 서비스로 구성하는 옵션을 선택합니다.
>
> 자세한 내용은 [자체 호스트형 실행기 제거](/ko/actions/how-tos/manage-runners/self-hosted-runners/remove-runners) 및 [자체 호스트형 실행기 추가](/ko/actions/how-tos/manage-runners/self-hosted-runners/add-runners)을(를) 참조하세요.

Windows **Services** 애플리케이션에서 실행기 서비스를 관리하거나 PowerShell을 사용하여 아래 명령을 실행할 수 있습니다.

</div>

<div class="ghd-tool mac">

> \[!NOTE]
> 자체 호스팅 러너 애플리케이션을 서비스로 구성하려면 먼저 GitHub에 러너를 추가해야 합니다.
> 자세한 내용은 [자체 호스트형 실행기 추가](/ko/actions/how-tos/manage-runners/self-hosted-runners/add-runners)을(를) 참조하세요.

러너 머신에서 자체 호스팅 러너 애플리케이션을 설치한 디렉터리에서 셸을 엽니다. 아래 명령을 사용하여 자체 호스팅 실행기 서비스를 설치하고 관리합니다.

</div>

<div class="ghd-tool linux">

## 서비스 설치

1. 현재 실행 중인 경우 자체 호스팅 실행기 애플리케이션을 중지합니다.

2. 다음 명령을 사용하여 서비스를 설치합니다.

   ```shell
   sudo ./svc.sh install
   ```

3. 또는 이 명령은 선택적 `user` 인수를 사용하여 서비스를 다른 사용자로 설치합니다.

   ```shell
   ./svc.sh install USERNAME
   ```

</div>

<div class="ghd-tool mac">

## 서비스 설치

1. 현재 실행 중인 경우 자체 호스팅 실행기 애플리케이션을 중지합니다.
2. 다음 명령을 사용하여 서비스를 설치합니다.

   ```shell
   ./svc.sh install
   ```

</div>

## 서비스 시작

다음 명령을 사용하여 서비스를 시작합니다.

<div class="ghd-tool linux">

```shell
sudo ./svc.sh start
```

> \[!NOTE]
> Debian 기반 Linux 시스템(예: Debian 또는 Ubuntu)에서 `needrestart`가 활성화되면, 워크플로 작업 중에 실행기 서비스가 재시작되지 않도록 `needrestart`를 설정하여 실행기 서비스를 무시하게 만들 수 있습니다. 다음 명령을 실행합니다.
>
> ```bash
> echo '$nrconf{override_rc}{qr(^actions\.runner\..+\.service$)} = 0;' | sudo tee /etc/needrestart/conf.d/actions_runner_services.conf
> ```

</div>

<div class="ghd-tool windows">

```shell
Start-Service "actions.runner.*"
```

</div>

<div class="ghd-tool mac">

```shell
./svc.sh start
```

</div>

## 서비스 상태를 확인합니다.

다음 명령을 사용하여 서비스의 상태를 확인합니다.

<div class="ghd-tool linux">

```shell
sudo ./svc.sh status
```

</div>

<div class="ghd-tool windows">

```shell
Get-Service "actions.runner.*"
```

</div>

<div class="ghd-tool mac">

```shell
./svc.sh status
```

</div>

자체 호스팅 실행기의 상태를 확인하는 방법에 대한 자세한 내용은 [자체 호스트형 실행기 모니터링 및 문제 해결](/ko/actions/how-tos/manage-runners/self-hosted-runners/monitor-and-troubleshoot)을 참조하세요.

## 서비스 중지

다음 명령을 사용하여 서비스를 중지합니다.

<div class="ghd-tool linux">

```shell
sudo ./svc.sh stop
```

</div>

<div class="ghd-tool windows">

```shell
Stop-Service "actions.runner.*"
```

</div>

<div class="ghd-tool mac">

```shell
./svc.sh stop
```

</div>

## 서비스 제거

1. 현재 실행 중인 경우 서비스를 중지합니다.
2. 다음 명령을 사용하여 서비스를 제거합니다.

    <div class="ghd-tool linux">

   ```shell
   sudo ./svc.sh uninstall
   ```

    </div>

    <div class="ghd-tool windows">

   ```shell
   Remove-Service "actions.runner.*"
   ```

    </div>

    <div class="ghd-tool mac">

   ```shell
   ./svc.sh uninstall
   ```

    </div>

<div class="ghd-tool linux">

## 자체 호스트형 러너 서비스 맞춤 설정

위의 기본 `systemd` 서비스 구성을 사용하지 않으려면 사용자 지정된 서비스를 만들거나 원하는 서비스 메커니즘을 사용할 수 있습니다.
`serviced`의 `actions-runner/bin/actions.runner.service.template` 템플릿을 참조로 사용하는 것이 좋습니다. 사용자 지정된 서비스를 사용하는 경우 `runsvc.sh` 진입점을 사용하여 자체 호스트형 실행기 서비스를 항상 호출해야 합니다.

</div>

<div class="ghd-tool mac">

## 자체 호스트형 러너 서비스 맞춤 설정

위의 기본 launchd 서비스 구성을 사용하지 않으려면 사용자 지정된 서비스를 만들거나 원하는 서비스 메커니즘을 사용할 수 있습니다.
`plist`의 `actions-runner/bin/actions.runner.plist.template` 템플릿을 참조로 사용하는 것이 좋습니다. 사용자 지정된 서비스를 사용하는 경우 `runsvc.sh` 진입점을 사용하여 자체 호스트형 실행기 서비스를 항상 호출해야 합니다.

</div>