Difference between revisions of "User:Llocsin"
Line 21: | Line 21: | ||
##Use tags command | ##Use tags command | ||
###git push --tags | ###git push --tags | ||
+ | |||
+ | |||
+ | Install Singularity | ||
+ | To Do: | ||
+ | |||
+ | Basic Singularity Commands | ||
+ | Pull - pulls a container image from a remote source | ||
+ | $ sudo singularity pull <remote source> | ||
+ | <remote source> | ||
+ | Singularity Container Services | ||
+ | $ sudo singularity pull --name CONTAINER_NAME.sif library://USER/PULL_PATH:VERSION | ||
+ | Singularity Hub | ||
+ | $ sudo singularity pull --name CONTAINER_NAME.sif shub://USER/PULL_PATH:VERSION (Note: the path only needs to match the pull card. please see the remote website for example.) | ||
+ | Docker Hub | ||
+ | $ sudo singularity build CONTAINER_NAME.sif docker://USER/PULL_PATH:VERSION | ||
+ | (Note docker images have layers and it needs to be merged into 1 singularity image. For that to happen you MUST use: build) | ||
+ | |||
+ | Exec - executes an EXTERNAL COMMAND | ||
+ | $ singularity exec IMAGE_NAME.sif EXTERNAL_COMMAND | ||
+ | |||
+ | Shell - shells into an existing container | ||
+ | singularity shell IMAGE_NAME.sif | ||
+ | *Note: Your home directory is mounted by default | ||
+ | |||
+ | Run - runs an image. Run is based on the Run Script parameters that were placed into the container when the image was built based the recipe | ||
+ | $ singularity run IMAGE_NAME.sif | ||
+ | |||
+ | Build (BIG TO DO: Very important) | ||
+ | $ singularity build IMAGE_NAME.sif <source> | ||
+ | Sources include | ||
+ | Another Image either docker or singularity | ||
+ | Singularity definition file (use to be known as a recipe file), usually denoted with name.def | ||
+ | |||
+ | Note: | ||
+ | You can shell into a docker UI - explore different containers without pulling or building | ||
+ | $ singularity shell docker://ubuntu | ||
+ | |||
+ | Creating Definition Files: | ||
+ | Workflow: | ||
+ | Set up complex workflows with Recipe File: | ||
+ | Alternatively- | ||
+ | Sandbox Directory Prototype Final Container: sudo singularity build --sandbox ubuntu_s docker://ubuntu | ||
+ | |||
+ | WRITE RECIPE: | ||
+ | File Name: Singularity.def | ||
+ | |||
+ | Bootstrap: docker | ||
+ | From: ubuntu:18.04 | ||
+ | %post | ||
+ | apt-get -y update | ||
+ | apt-get -y install python3 | ||
+ | %files | ||
+ | helloWorld.py / | ||
+ | |||
+ | %runscript | ||
+ | python3 /hello_world.py | ||
+ | |||
+ | $ sudo singularity build CONTAINER_NAME.sif Singularity.def | ||
+ | $ sudo singularity run CONTAINER_NAME.sif | ||
+ | Result: | ||
+ | Hello World | ||
+ | |||
+ | Resources: | ||
+ | Singularity Guide: | ||
+ | Singularity Help: | ||
+ | |||
+ | Pre-Made Containers: | ||
+ | |||
+ | TACC Resources: | ||
+ | |||
+ | MVAPICH Dependances | ||
+ | MPICH Dependencies: | ||
Revision as of 20:10, 6 August 2020
SVN to Git Plan
Convert SVN repository to a Git Repository.
Steps:
- Download svn2git tool: https://github.com/nirvdrum/svn2git
- Add Commands
- Pull desired SVN repository
- //Add Commands
- Create Text Document of Authors to link to Git Accounts
- create authors.txt
- add in all authors with the following format:
- jcoglan = James Coglan <jcoglan@never-you-mind.com>
- stnick = Santa Claus <nicholas@lapland.com> (Recommended to link everyone’s account but if you can’t, it’s not required to link everyone’s account, but you must provide an email, if only a made up one.)
- Convert the repositories with the git commands:
- $ svn2git http://source.usc.edu/svn/mesh_partitioner/ --trunk trunk --tags tags --nobranches --authors ~/authors.txt (Note: --trunk trunk (the trunk argument is the name of the trunk repository-tags tags (tags is the name of your repository of tags))
- Push to the desired git remote. (In this example we use github)
- Add Remote
- git remote add <remote-name> <remote-url>##git remote origin git@github.com:SCECcode/CyberShake.git
- Commit
- git add .
- git commit -m “Initial Commit of Converted SVN to Git Repository Code”
- Use tags command
- git push --tags
- Add Remote
Install Singularity
To Do:
Basic Singularity Commands Pull - pulls a container image from a remote source $ sudo singularity pull <remote source> <remote source> Singularity Container Services
$ sudo singularity pull --name CONTAINER_NAME.sif library://USER/PULL_PATH:VERSION
Singularity Hub $ sudo singularity pull --name CONTAINER_NAME.sif shub://USER/PULL_PATH:VERSION (Note: the path only needs to match the pull card. please see the remote website for example.) Docker Hub $ sudo singularity build CONTAINER_NAME.sif docker://USER/PULL_PATH:VERSION (Note docker images have layers and it needs to be merged into 1 singularity image. For that to happen you MUST use: build)
Exec - executes an EXTERNAL COMMAND $ singularity exec IMAGE_NAME.sif EXTERNAL_COMMAND
Shell - shells into an existing container singularity shell IMAGE_NAME.sif
- Note: Your home directory is mounted by default
Run - runs an image. Run is based on the Run Script parameters that were placed into the container when the image was built based the recipe $ singularity run IMAGE_NAME.sif
Build (BIG TO DO: Very important) $ singularity build IMAGE_NAME.sif <source> Sources include Another Image either docker or singularity Singularity definition file (use to be known as a recipe file), usually denoted with name.def
Note: You can shell into a docker UI - explore different containers without pulling or building $ singularity shell docker://ubuntu
Creating Definition Files: Workflow: Set up complex workflows with Recipe File: Alternatively- Sandbox Directory Prototype Final Container: sudo singularity build --sandbox ubuntu_s docker://ubuntu
WRITE RECIPE: File Name: Singularity.def
Bootstrap: docker From: ubuntu:18.04 %post
apt-get -y update apt-get -y install python3
%files
helloWorld.py /
%runscript
python3 /hello_world.py
$ sudo singularity build CONTAINER_NAME.sif Singularity.def $ sudo singularity run CONTAINER_NAME.sif Result: Hello World
Resources: Singularity Guide: Singularity Help:
Pre-Made Containers:
TACC Resources:
MVAPICH Dependances MPICH Dependencies:
Resources:
- svn2git tool (from the guide): https://github.com/nirvdrum/svn2git
- Official Git Documentation:
- Guide: https://viastudio.com/migrate-svn-git/: https://github.github.com/training-kit/downloads/subversion-migration/
- Github Importer Tool (alternate): https://docs.github.com/en/github/importing-your-projects-to-github/about-github-importer