No edit summary |
|||
Line 118: | Line 118: | ||
<pre>git clone git://fedorapeople.org/~su_nombreusuario_fedora/repo.git</pre> | <pre>git clone git://fedorapeople.org/~su_nombreusuario_fedora/repo.git</pre> | ||
También es posible clonar su proyecto a través del protocolo http://. En orden para que esto funcione, debe disponer que se ejecute siempre <code>git-update-server-info</code> para que se actualice su repositorio. Normalmente, esto se hace con un post-update hook script. Sin embargo, los directorios home de usuario en fedorapeople.org se montan con la opción noexec, que impide la ejecución del script. En su lugar, puede crear un enlace simbólico a <code>git-update-server-info</code> en el directorio hooks de su repositorio: | También es posible clonar su proyecto a través del protocolo http:// . En orden para que esto funcione, debe disponer que se ejecute siempre <code>git-update-server-info</code> para que se actualice su repositorio. Normalmente, esto se hace con un post-update hook script. Sin embargo, los directorios home de usuario en fedorapeople.org se montan con la opción noexec, que impide la ejecución del script. En su lugar, puede crear un enlace simbólico a <code>git-update-server-info</code> en el directorio hooks de su repositorio: | ||
<pre> | <pre> |
Revision as of 16:44, 6 November 2012
fedorapeople.org
Esta página cubre los detalles sobre cómo obtener y utilizar su espacio personal en fedorapeople.org, que es un sitio donde los colaboradores de Fedora pueden subir archivos para compartir con el mundo. Es perfecto para subir specfiles, srpms, parches, repositorio personal, etc, etc.
Contenido permitido
- No distribuir cualquier material en fedorapeople.org que Fedora no pueda distribuirlo por razones legales. Nada de la lista de Ítems prohibidos o de lo contrario no distribuibles por Fedora.
- No suba sus claves .ssh privadas. Mientras que Fedora IT trabaja duro para mantener los servidores seguros, sucede que las claves privadas subidas se pueden descargar y romper fácilmente en estos días por ataque de fuerza bruta. Si se encuentran claves .ssh privadas durante una auditoría serán eliminadas.
Acceso a su espacio de fedorapeople.org
- Necesita una cuenta activa de Fedora
- Debe ser patrocinado por un grupo (excepto los grupos CLA)
- Debe generar una clave ssh (ssh-keygen -t rsa).
- Subir la clave ssh a su cuenta de Fedora. Para subirla, visitar este enlace y seleccionar un archivo de claves mediante el campo Clave pública RSA para SSH. Normalmente su clave se almacena en el directorio home bajo .ssh/id_rsa.pub. La clave ssh obtenida se activa una hora después de haberla subido.
- Para conectarse, use la clave ssh que ha subido a su cuenta de Fedora:
ssh -i ~/.ssh/id_rsa <your_fedora_id>@fedorapeople.org
Este paso también puede realizarse a través de la cuenta de Fedora.
- Habiendo iniciado la sesión, haga clic en «Mi Cuenta» en la barra lateral.
- Seleccione el vínculo «editar» junto a «Detalles de la Cuenta.»
- Escriba lo siguiente en el campo «Clave pública RSA para SSH:»:
~/.ssh/id_rsa.pub
- Haga clic en el botón «¡Guardar!».
- Compruebe su éxito. Verá «ssh-rsa» seguido de la cadena alfanumérica en el campo «Clave pública de SSH:» de sus Detalles de la Cuenta.
Respuestas comunes
- Cada colaborador de Fedora tiene 2000000 KiB (aproximadamente 1954 MiB) de espacio controlado.
- Si se queda sin espacio deberá: limpiar las cosas que no necesite. Si no puede eliminar ninguna cosa deberá comunicarse con infraestructura de Fedora para elevar su cupo.
- Hacer un espacio visible públicamente, cree un directorio
public_html
- La gente de Fedora NO debe ser utilizada para desarrollar o crear repositorios. Los repositorios tendrán que ser creados en otro lugar y subidos mediante scp o rsync.
- NO intente utilizar sudo para instalar los paquetes que «necesite». A menos que esté en el grupo Infraestructura y haya conseguido la aprobación del administrador del sistema principal, los paquetes adicionales no deben instalarse en fedorapeople.
- Subir los archivos mediante scp, sftp o rsync.
Para copiar archivos desde la línea de comandos, puede utilizar scp
scp /path/to/file su_nombreusuario_fedora@fedorapeople.org:/home/fedora/su_nombreusuario_fedora/public_html
- Una vez subido los archivos al directorio public_html de usuarios estarán disponibles a través de http en: http://su_nombreusuario.fedorapeople.org/.
- Dar acceso a otros usuarios para la lectura/escritura/etc. de archivos mediante el uso de las acls (Listas de control de acceso) extendidas. Leer las páginas man de setfacl y getfacl para agregarlas a sus directorios/archivos. Esto da al usuario jkeating acceso de lectura y escritura al
archivo
(file):
setfacl -m u:jkeating:rw file
Soporte de alojamiento git para fedora people
fedorapeople.org ahora tiene soporte para alojamiento de repositorios git incluyendo el acceso a estos a través del protocolo git:// para descargas anónimas, así como proporcionar la interfaz web de cgit.
Aquí está un resumen rápido de cómo comenzar a usar git en fedorapeople.org. Se supone que usted ya está algo familiarizado con git. Quizá desee echar un vistazo a la Referencia rápida de Git.
Crear un directorio ~/public_git
en fedorapeople.org
ssh su_nombreusuario_fedora@fedorapeople.org "mkdir ~/public_git; /sbin/restorecon -Rv ~/public_git"
Crear un nuevo repositorio git en ~/public_git
Como ejemplo, aquí se muestra un método para crear un repositorio vacío en su sistema local y subirlo:
git init --bare repo.git scp -r repo.git/ su_nombreusuario_fedora@fedorapeople.org:~/public_git/
Esto crea un repositorio desnudo (es decir, un repositorio que no tiene ningún directorio de trabajo). Contiene sólo los archivos que forman parte del directorio .git
de un repositorio git no-desnudo (la mayoría de este tipo de usuarios están acostumbrados a verlos).
Además, si desea que su repositorio aparezca en la interfaz web de cgit, usted debe:
touch ~/public_git/yourgitrepo.git/git-daemon-export-ok
Para los repositorios que desee aparezcan allí por defecto.
Subir un repositorio existente a ~/public_git
Si tiene un repositorio existente que desea utilizar en fedorapeople, puede hacerlo fácilmente:
git clone --bare /path/to/local/repo repo.git scp -r repo.git/ su_nombreusuario_fedora@fedorapeople.org:public_git/
Las advertencias de la sección anterior se aplican aquí también.
Enviando a su repositorio
Hacer cambios desde un repositorio local:
cd /path/to/local/repo git remote add fedorapeople su_nombreusuario_fedora@fedorapeople.org:public_git/repo.git git push --mirror fedorapeople
Esto crea un espejo de su repositorio local. Todas las ramas y etiquetas en el repositorio local serán enviadas hacia el repositorio de fedorapeople.
Si sólo desea enviar ramas seleccionadas, modifique el git push
del ejemplo. Por ejemplo, para enviar sólo su rama master local:
git push fedorapeople master
Clonando su repositorio
Para clonar su repositorio, utilizar un comando como:
git clone git://fedorapeople.org/~su_nombreusuario_fedora/repo.git
También es posible clonar su proyecto a través del protocolo http:// . En orden para que esto funcione, debe disponer que se ejecute siempre git-update-server-info
para que se actualice su repositorio. Normalmente, esto se hace con un post-update hook script. Sin embargo, los directorios home de usuario en fedorapeople.org se montan con la opción noexec, que impide la ejecución del script. En su lugar, puede crear un enlace simbólico a git-update-server-info
en el directorio hooks de su repositorio:
ssh su_nombreusuario_fedora@fedorapeople.org cd ~/public_git/repo.git/hooks ln -svbf $(git --exec-path)/git-update-server-info post-update git update-server-info
También debe crear un enlace desde ~/public_html/git a ~/public_git:
cd ~/public_html ln -svbf ../public_git git
Puede clonar su repositorio sobre http:// con un comando como:
git clone http://su_nombreusuario_fedora.fedorapeople.org/git/repo.git/
Puede ver su proyecto listado en cgit una vez que se actualiza la lista de proyectos. Esto sucede cada hora.
Repositorio compartido
Si desea dar acceso a su repositorio para otros usuarios puede hacer esto con las ACL.
setfacl -R -m u:<user>:rwX <repo.git> find <repo.git> -type d | xargs setfacl -R -m d:u:<user>:rwX