<commit_before># Lab 9: Code Changes durch Webhook triggern Rebuild auf OpenShift

In diesem Lab zeigen wir den Docker Build Workflow anhand eines Beispiels auf und Sie lernen, wie Sie mit einem Push in das Git Repository einen Build und ein Deployment der Applikation auf OpenShift starten.

## Aufgabe: LAB9.1: Vorbereitung Github Account und Fork

### Github Account

Damit Sie Änderungen am Source Code unserer Beispielapplikation vornehmen können, benötigen Sie einen eigenen GitHub Account. Richten Sie sich einen Account unter https://github.com/ ein, falls Sie nicht bereits über einen verfügen.

### Beispiel-Projekt forken

**Beispiel-Projekt:** https://github.com/appuio/example-php-sti-helloworld

Gehen Sie auf die [GitHub Projekt-Seite](https://github.com/appuio/example-php-sti-helloworld) und [forken](https://help.github.com/articles/fork-a-repo/) Sie das Projekt.

![Fork](../images/lab_9_fork_example.png)


Sie haben nun unter
```
https://github.com/[YourGitHubUser]/example-php-sti-helloworld
```

einen Fork des Example Projektes, den Sie so erweitern können wie Sie wollen.

## Deployen des eigenen Forks

Erstellen Sie ein neues Projekt:
```
$ oc new-project [USER]-example3
```

Erstellen Sie für Ihren Fork eine neue App. **Note:** Ersetzen Sie `[YourGithubUser]` mit dem Namen Ihres GitHub Accounts:

```
$ oc new-app https://github.com/[YourGithubUser]/example-php-docker-helloworld.git --strategy=docker --name=appuio-php-docker-ex
```
Mittels Parameter `--strategy=docker` sagen wir dem `oc new-app` Befehl nun explizit, er soll im angegebenen Git Repository nach einem Dockerfile suchen und dieses für den Build verwenden.

Nun exponieren Sie den Service mit:
``
$ oc expose service appuio-php-docker-ex
```

## Aufgabe: LAB9.2: Webhook auf GitHub einrichtenn

Beim Erstellen der App wurden in der BuildConfig (bc) direkt Webhooks definiert. Diese können Sie über den folgenden Befehl anzeigen:
```
$ oc describe bc appuio-php-docker-ex

Name:			appuio-php-docker-ex
Created:		About a minute ago
Labels:			app=appuio-php-docker-ex
Annotations:		openshift.io/generated-by=OpenShiftNewApp<commit_msg>added missing format<commit_after># Lab 9: Code Changes durch Webhook triggern Rebuild auf OpenShift

In diesem Lab zeigen wir den Docker Build Workflow anhand eines Beispiels auf und Sie lernen, wie Sie mit einem Push in das Git Repository einen Build und ein Deployment der Applikation auf OpenShift starten.

## Aufgabe: LAB9.1: Vorbereitung Github Account und Fork

### Github Account

Damit Sie Änderungen am Source Code unserer Beispielapplikation vornehmen können, benötigen Sie einen eigenen GitHub Account. Richten Sie sich einen Account unter https://github.com/ ein, falls Sie nicht bereits über einen verfügen.

### Beispiel-Projekt forken

**Beispiel-Projekt:** https://github.com/appuio/example-php-sti-helloworld

Gehen Sie auf die [GitHub Projekt-Seite](https://github.com/appuio/example-php-sti-helloworld) und [forken](https://help.github.com/articles/fork-a-repo/) Sie das Projekt.

![Fork](../images/lab_9_fork_example.png)


Sie haben nun unter
```
https://github.com/[YourGitHubUser]/example-php-sti-helloworld
```

einen Fork des Example Projektes, den Sie so erweitern können wie Sie wollen.

## Deployen des eigenen Forks

Erstellen Sie ein neues Projekt:
```
$ oc new-project [USER]-example3
```

Erstellen Sie für Ihren Fork eine neue App. **Note:** Ersetzen Sie `[YourGithubUser]` mit dem Namen Ihres GitHub Accounts:

```
$ oc new-app https://github.com/[YourGithubUser]/example-php-docker-helloworld.git --strategy=docker --name=appuio-php-docker-ex
```
Mittels Parameter `--strategy=docker` sagen wir dem `oc new-app` Befehl nun explizit, er soll im angegebenen Git Repository nach einem Dockerfile suchen und dieses für den Build verwenden.

Nun exponieren Sie den Service mit:
```
$ oc expose service appuio-php-docker-ex
```

## Aufgabe: LAB9.2: Webhook auf GitHub einrichtenn

Beim Erstellen der App wurden in der BuildConfig (bc) direkt Webhooks definiert. Diese können Sie über den folgenden Befehl anzeigen:

```
$ oc describe bc appuio-php-docker-ex

Name:			appuio-php-docker-ex
Created:		About a minute ago
Labels:			app=appuio-php-docker-ex
Annotations:		openshift.io/generated-by=OpenShiftNewApp
{'fraction_non_alphanumeric': 0.09678931333489571, 'fraction_numerical': 0.0032809936723693462, 'mean_word_length': 4.7831978319783195, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2337701', 'n_tokens_mistral': 1461, 'n_tokens_neox': 1415, 'n_words': 467}