Wie ich mit GitHub Actions tägliche Beiträge zu GitHub automatisiert habe
Das GitHub-Beitragsdiagramm ist ein wesentliches Feature, das die täglichen Beiträge von Entwicklern verfolgt. Diese Funktion motiviert Entwickler, weiterhin regelmäßig zu ihren Open-Source-Projekten beizutragen. Es gibt jedoch mehrere Gründe, warum Entwickler möglicherweise nicht in der Lage sind, tägliche Beiträge zu leisten
- Vielleicht passiert der größte Teil Ihrer Codierung auf einem anderen Versionskontrollhost wie GitLab oder Bitbucket.
- Möglicherweise verwendet Ihr Unternehmen GitHub Enterprise, hat jedoch keine einheitlichen Beiträge aktiviert .
- Vielleicht suchen Sie nach einem neuen Job in der Softwareentwicklung und befürchten, dass Personalvermittler Sie aufgrund Ihres knappen Beitragsdiagramms voreinnehmen werden.
- Oder vielleicht hast du andere Gründe .
Erstellen Sie einen Ordner in Ihrem GitHub-Repository, .github/workflowin dem wir den Job für den Workflow erstellenjob.yaml
name: Daily Contributions
on:
schedule:
- cron: '0 0 * * 1-5'
jobs:
make-contribution:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
# Checkout with full commit history
fetch-depth: 0
- name: Make daily contribution
run: |
# Replace this command with your own command or script that makes the changes
echo "Making daily contribution"
echo "$(date)" >> README.md
- name: Commit changes
uses: EndBug/add-and-commit@v7
with:
author_name: "GitHub Actions"
author_email: "[email protected]"
message: "Daily contribution"
# Set the files to commit - replace this with your own file paths
add: "README.md"
- name: Push changes
uses: ad-m/github-push-action@master
with:
branch: daily-contribution
# Set the Git credentials - replace this with your own secrets
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Open pull request
uses: peter-evans/create-pull-request@v3
with:
title: "Daily Contribution"
commit-message: "Daily contribution"
branch: daily-contribution
base: main
# Set the pull request body - replace this with your own content
body: "This pull request was created automatically by a GitHub Actions workflow to make a daily contribution."
# Set the Git credentials - replace this with your own secrets
token: ${{ secrets.GITHUB_TOKEN }}
Die erste Zeile des Code-Snippets ist der Name des GitHub Actions-Workflows. In diesem Fall heißt der Workflow „Daily Contributions“. Der nächste Abschnitt definiert, wann der Workflow ausgeführt werden soll. In diesem Fall wird es mithilfe der Cron-Syntax so eingestellt, dass es nach einem Zeitplan ausgeführt wird. Mit der Cron-Syntax können Sie den Workflow so einrichten, dass er zu bestimmten Tages- oder Wochenzeiten ausgeführt wird. Ich habe meine so eingestellt, dass sie von Montag bis Freitag um Mitternacht UTC ausgeführt wird.
Unter dem Abschnitt „Jobs“ ist nur ein Job namens „Make-Contribution“ definiert. Dieser Job ist so eingestellt, dass er auf einem Ubuntu-Rechner ausgeführt wird, auf dem die neueste Version von Ubuntu installiert ist.
Der Abschnitt „Schritte“ enthält die Aufgaben, die der Job ausführen wird. Der erste Schritt besteht darin, den Code mithilfe der Aktion actions/ checkout@v2 aus dem GitHub-Repository auszuchecken . Diese Aktion ruft den Code aus dem Repository ab und richtet die Umgebung für die nachfolgenden Schritte ein.
Der zweite Schritt besteht darin, einen täglichen Beitrag zu leisten. Hier können Sie Ihren eigenen Befehl oder Ihr eigenes Skript hinzufügen, um Änderungen am Code vorzunehmen. In diesem Fall hängt das Skript einfach das aktuelle Datum an die Datei README.md an.
Der dritte Schritt besteht darin, die Änderungen an das Repository zu übertragen. Dieser Schritt verwendet die Aktion EndBug/ add-and-commit@v7, um die Änderungen festzuschreiben. Der Name und die E-Mail-Adresse des Autors sind auf „GitHub-Aktionen“ und „ [email protected] “ festgelegt, die ich auf meinen GitHub-Namen bzw. meine E-Mail-Adresse festgelegt habe.
Die zu übergebenden Dateien werden mit dem Parameter „add“ angegeben. In diesem Fall ist es auf „README.md“ eingestellt.
Der vierte Schritt besteht darin, die Änderungen mit der Aktion ad-m/ github-push-action@master in das Repository zu pushen . Der Branch-Name wird auf „daily-contribution“ gesetzt und die Git-Anmeldeinformationen werden mithilfe der secrets.GITHUB_TOKENUmgebungsvariable festgelegt.
Schließlich besteht der fünfte Schritt darin, eine Pull-Anforderung mit der Aktion peter-evans/ create-pull-request@v3 zu öffnen . Der Titel und die Commit-Nachricht sind auf „Täglicher Beitrag“ und der Text der Pull-Anforderung auf „Diese Pull-Anfrage wurde automatisch von einem GitHub-Aktions-Workflow erstellt, um einen täglichen Beitrag zu leisten.“ Die Zweig- und Basisparameter werden auf „täglich - Beitrag“ bzw. „Haupt“ gesetzt. secrets.GITHUB_TOKENDie Git-Anmeldeinformationen werden erneut mithilfe der Umgebungsvariablen festgelegt .
Wenn Sie 403-Fehler erhalten, vergewissern Sie sich, dass Ihr Token über Schreibberechtigung für den contentsBereich verfügt .
Sie können dies alternativ als Standard auf Repo-Ebene festlegen, Settingsunter Actions:
Zusammenfassend lässt sich sagen, dass wir mit GitHub Actions den Prozess der täglichen Beiträge zu unserem Repository automatisieren können, was uns helfen kann, unser Beitragsdiagramm auf dem neuesten Stand zu halten. Mit der bereitgestellten Workflow-Datei können wir den Prozess einfach an unsere Bedürfnisse anpassen, indem wir die Befehle oder das Skript ändern, die die Änderungen vornehmen.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































