J'ai créé une application Reactjs simple et maintenant je veux la publier sur gh-pages. J'ai suivi ce tutoriel Facebook pour le déployer et il est également déployé à partir de mon PC. Mais maintenant, au lieu de le déployer manuellement à chaque fois, j'ai pensé à utiliser Actions Github pour déployer à chaque push vers la branche maître . j'ai donc écrit l'action ci-dessous.
{
"homepage": "http://itissandeep98.github.io/TimeTableManager/",
"name": "timetablemanager",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"bootstrap": "^4.5.0",
"bootstrap-social": "^5.1.1",
"font-awesome": "^4.7.0",
"gh-pages": "^3.1.0",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-scripts": "3.4.1"
},
"scripts": {
"predeploy": "npm run build",
"deploy": "gh-pages -d build",
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
Mais cette action échoue car elle oblige l'utilisateur à saisir le nom d'utilisateur et le mot de passe.
> gh-pages -d build fatal: could not read Username for 'https://github.com': No such device or address npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! timetablemanager@0.1.0 deploy: `gh-pages -d build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the timetablemanager@0.1.0 deploy script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/runner/.npm/_logs/2020-06-21T07_07_19_700Z-debug.log ##[error]Process completed with exit code 1.
Comment puis-je résoudre ce problème?
Modifier: Voici le fichier package.json
name: gh pages publish
on:
push:
branches: master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
registry-url: https://registry.npmjs.org/
- name: publish package
run: |
yarn
npm run deploy
3 Réponses :
Selon le dépannage des pages github de l'application Create React ici , vous besoin de faire ce qui suit.
git remote set-url origin https: // : @ github.com / / . npm run deploy Assurez-vous également que tout dans votre package.json est correct, mais cela ressemble vraiment à un problème d'authentification.
Mettre ceci ici pour ceux qui cherchent à faire la même chose que l'OG:
J'ai créé et ajouté un personnel jeton , et a également rencontré d'autres problèmes.
Voici les modifications que j'ai finalement apportées au fichier d'action:
- name: setup git authentication
run: |
git config --global user.email "<me>@<gmail>.com"
git config --global user.name "<my_name>"
git remote set-url origin https://<user>:<token>@github.com/<user>/<repo>
- name: publish
run: |
yarn
npm run deploy
pour toute autre personne qui se retrouve ici, vous pouvez utiliser le secrets.GITHUB_TOKEN disponible sur chaque action , sans le définir directement dans les paramètres de votre dépôt.
Utilisez la réponse de Joey Baruch ci-dessus, remplacez simplement par:
${{ secrets.GITHUB_TOKEN }}
Ps stackoverflow ne me laisse pas encore de commentaire, j'ai donc dû publier ceci comme une réponse distincte.
Si vous pouviez fournir votre
package.json, cela aiderait à résoudre votre problème.