Je pense que Git et GitHub sont devenus des outils indispensables lors du développement,
Créez un répertoire localement, créez un fichier README avec git init
, git add .
, git commit -m'Initial Commit'
, accédez à GitHub, créez un référentiel, git remote add origin [email protected]: copiez et collez la partie de hoge / fuga.git
, exécutez la commande et git push
~
C'est une série de flux gênants, n'est-ce pas?
Créons maintenant un outil CLI qui les automatise.
La structure des répertoires est la suivante.
Si vous pouvez installer gem dans l'environnement global sans utiliser Gemfile, vous pouvez simplement utiliser gem install ○○
.
[auto_github_repo]
|- .commands.sh
|- .env
|- github.rb
|- Gemfile #Ajouté plus tard
|- Gemfile.lock #Ajouté plus tard
Utilisez un gem appelé Octokit pour accéder à GitHub depuis Ruby et créer un référentiel. En plus de créer un référentiel, diverses API sont préparées et c'est intéressant, vous voudrez peut-être y jeter un œil. Voici une liste de différentes méthodes. https://www.rubydoc.info/github/pengwynn/octokit/Octokit
Peut-être que de nombreuses personnes qui travaillent en tant qu'ingénieurs dans des entreprises utilisent GitHub comme une certification en deux étapes pour des raisons de sécurité. Cette fois, je l'ai créé sur cette base, et je l'expliquerai ci-dessous car il est nécessaire d'acquérir séparément le jeton d'accès de GitHub afin de passer l'authentification en deux étapes à partir du code Ruby.
Tout d'abord, accédez à votre GitHub, cliquez sur l'icône en haut à droite, ouvrez Paramètres
, et vous serez redirigé vers la page suivante.
Cliquez ensuite sur "Paramètres du développeur" en bas à gauche.
Ensuite, vous serez redirigé vers la page suivante, veuillez donc passer à «Jetons d'accès personnels».
Cliquez sur "Générer un nouveau jeton" ici
Ensuite, vous serez redirigé vers la page suivante, veuillez donc écrire l'utilisation prévue dans la partie Note
et vérifier la partie repo
. Cette fois, le repo est suffisant pour l'autorité, mais il semble qu'un outil CLI pratique puisse être créé si d'autres parties peuvent être bien utilisées. Si vous pouvez vous le permettre, essayez-le.
Cliquez ensuite sur Generate token
en bas pour aller à la page où le token d'accès est affiché, alors copiez-le.
Créez des informations telles que le jeton d'accès créé précédemment dans le fichier .env. Pour un usage personnel uniquement, il est possible d'écrire du code solide.
.env:.env
USERNAME='Nom d'utilisateur GitHub'
GITHUB_ACCESS_TOKEN='Jeton d'accès copié'
FILEPATH='Spécifiez le répertoire dans lequel vous souhaitez créer un projet' #Dans le cas de je/Users/nom d'utilisateur mac/Program/C'est dit.
Créons maintenant une application CLI.
Créer un Gemfile
Terminal
$ bundle init
Cela créera un Gemfile, alors ajoutez la gemme suivante.
Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem 'octokit', '~> 4.0'
gem 'dotenv'
Installer Gem
Terminal
$ bundle
Maintenant que nous sommes prêts, écrivons un script shell à exécuter à partir du terminal et du code Ruby pour travailler avec GitHub.
sh:.commands.sh
#!/bin/zsh #Pour bash, remplacez ce "zsh" par bash
function create() {
source .env #Lecture des variables d'environnement
ruby github.rb $1 #Exécuter le fichier ruby$1 est l'argument passé dans la commande (nom du répertoire à créer)
cd $FILEPATH$1 #Déplacer vers le répertoire du projet créé
git init
git remote add origin [email protected]:$USERNAME/$1.git
touch README.md
git add .
git commit -m 'Initial Commit'
git push -u origin master
code . #Lancer VS Code
}
Vous pouvez maintenant exécuter cet outil CLI à partir du terminal, exécuter le fichier Ruby et même exécuter la commande Git.
Ensuite, nous allons créer un lien avec GitHub avec Ruby.
github.rb
require 'octokit'
require 'dotenv'
# .Lire le fichier env
Dotenv.load '.env'
#Attribuer des variables d'environnement à des variables
github_access_token = ENV['GITHUB_ACCESS_TOKEN']
path = ENV['FILEPATH']
#Mettre le répertoire en tête une fois
system('cd')
#Récupérez l'argument (nom du projet à créer) depuis la commande du terminal
folder_name = ARGV[0].to_s
Dir.mkdir(path + folder_name)
#Travailler avec GitHub sur Octokit
client = Octokit::Client.new(access_token: github_access_token)
client.user.login
client.create_repository(folder_name)
puts "Succesfully created repository #{folder_name}"
Ceci termine l'application CLI.
Créons le projet que vous souhaitez créer à partir du terminal.
Terminal
$ source .commands.sh
$create Le nom du projet que vous souhaitez créer
Si le projet spécifié est créé dans le référentiel GitHub, le répertoire actuel est déplacé vers le répertoire avec le nom du projet et VS Code peut être démarré automatiquement, il réussit.
Nous espérons qu'il sera utile comme point de départ du développement.
Recommended Posts