X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/715869b9a22e22ac68a7dbefa96f27150017f75d..7df2da959b583d3646b9fde606f9e74d598d4bb9:/doc/user/tutorials/tutorial-firstscript.html.textile.liquid
diff --git a/doc/user/tutorials/tutorial-firstscript.html.textile.liquid b/doc/user/tutorials/tutorial-firstscript.html.textile.liquid
index 2422bb2814..9de1a9c61e 100644
--- a/doc/user/tutorials/tutorial-firstscript.html.textile.liquid
+++ b/doc/user/tutorials/tutorial-firstscript.html.textile.liquid
@@ -2,123 +2,144 @@
layout: default
navsection: userguide
navmenu: Tutorials
-title: "Writing a Crunch script"
-
+title: "Writing a pipeline"
...
-h1. Writing a Crunch script
-
In this tutorial, we will write the "hash" script demonstrated in the first tutorial.
-*This tutorial assumes that you are "logged into an Arvados VM instance":{{site.basedoc}}/user/getting_started/ssh-access.html#login, and have a "working environment.":{{site.basedoc}}/user/getting_started/check-environment.html*
+*This tutorial assumes that you are "logged into an Arvados VM instance":{{site.baseurl}}/user/getting_started/ssh-access.html#login, and have a "working environment.":{{site.baseurl}}/user/getting_started/check-environment.html*
-This tutorial uses _you_ to denote your username. Replace _you_ with your user name in all the following examples.
+This tutorial uses *@you@* to denote your username. Replace *@you@* with your user name in all the following examples.
h2. Setting up Git
-As discussed in the previous tutorial, all Crunch scripts are managed through the @git@ revision control system.
-
-First, you should do some basic configuration for git (you only need to do this the first time):
+All Crunch scripts are managed through the Git revision control system. Before you start using Git, you should do some basic configuration (you only need to do this the first time):
+$ git config --global user.name "Your Name"
-$ git config --global user.email you@example.com
~$ git config --global user.name "Your Name"
+~$ git config --global user.email you@example.com
git@git.{{ site.arvados_api_host }}:you.git
.
+On the Arvados Workbench, navigate to "Compute %(rarr)→% Code repositories":https://{{site.arvados_workbench_host}}/repositories. You should see a repository with your user name listed in the *name* column. Next to *name* is the column *push_url*. Copy the *push_url* value associated with your repository. This should look like git@git.{{ site.arvados_api_host }}:you.git
+$ git clone git@git.{{ site.arvados_api_host }}:you.git
-Cloning into 'you'...
~$ cd $HOME # (or wherever you want to install)
+~$ git clone git@git.{{ site.arvados_api_host }}:you.git
+Cloning into 'you'...
$ man gittutorial
-or "click here to search Google for git tutorials":http://google.com/#q=git+tutorial
+or *"search Google for Git tutorials":http://google.com/#q=git+tutorial*.
{% include 'notebox_end' %}
h2. Creating a Crunch script
-Start by entering the @you@ directory created by @git clone@. Next create a subdirectory called @crunch_scripts@ and change to that directory:
+Start by entering the *@you@* directory created by @git clone@. Next create a subdirectory called @crunch_scripts@ and change to that directory:
$ cd you
-$ mkdir crunch_scripts
-$ cd crunch_scripts
+~$ cd you
+~/you$ mkdir crunch_scripts
+~/you$ cd crunch_scripts
$ nano hash.py
+notextile. ~/you/crunch_scripts$ nano hash.py
-Add the following code to compute the md5 hash of each file in a collection:
+Add the following code to compute the MD5 hash of each file in a collection:
-{% include 'tutorial_hash_script_py' %}
+$ chmod +x hash.py
+notextile. ~/you/crunch_scripts$ chmod +x hash.py
-Next, add the file to @git@ staging. This tells @git@ that the file should be included on the next commit.
+{% include 'notebox_begin' %}
+The steps below describe how to execute the script after committing changes to Git. To run a script locally for testing, please see "debugging a crunch script":{{site.baseurl}}/user/topics/tutorial-job-debug.html.
-notextile. $ git add hash.py
+{% include 'notebox_end' %}
-Next, commit your changes to git. All staged changes are recorded into the local @git@ repository:
+Next, add the file to the staging area. This tells @git@ that the file should be included on the next commit.
+
+notextile. ~/you/crunch_scripts$ git add hash.py
+
+Next, commit your changes. All staged changes are recorded into the local git repository:
$ git commit -m"my first script"
+~/you/crunch_scripts$ git commit -m"my first script"
[master (root-commit) 27fd88b] my first script
- 1 file changed, 33 insertions(+)
+ 1 file changed, 45 insertions(+)
create mode 100755 crunch_scripts/hash.py
$ git push origin master
+~/you/crunch_scripts$ git push origin master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 682 bytes, done.
Total 4 (delta 0), reused 0 (delta 0)
-To git@git.qr1hi.arvadosapi.com:you.git
+To git@git.qr1hi.arvadosapi.com:you.git
* [new branch] master -> master
$ cat >the_job <<EOF
-{
- "script": "hash.py",
- "script_version": "you:master",
- "script_parameters":
- {
- "input": "c1bad4b39ca5a924e481008009d94e32+210"
- }
-}
-EOF
-$ arv -h job create --job "$(cat the_job)"
-{
- ...
- "uuid":"qr1hi-xxxxx-xxxxxxxxxxxxxxx"
- ...
-}
-$ arv -h job get --uuid qr1hi-xxxxx-xxxxxxxxxxxxxxx
+~/you/crunch_scripts$ cd ~
+~$ cat >the_pipeline <<EOF
{
- ...
- "output":"880b55fb4470b148a447ff38cacdd952+54",
- ...
+ "name":"My first pipeline",
+ "components":{
+ "do_hash":{
+ "script":"hash.py",
+ "script_parameters":{
+ "input":{
+ "required": true,
+ "dataclass": "Collection"
+ }
+ },
+ "repository":"$USER",
+ "script_version":"master",
+ "output_is_persistent":true
+ }
+ }
}
-$ arv keep get 880b55fb4470b148a447ff38cacdd952+54/md5sum.txt
-44b8ae3fde7a8a88d2f7ebd237625b4f var-GS000016015-ASM.tsv.bz2
+EOF
+
+
~$ arv pipeline_template create --pipeline-template "$(cat the_pipeline)"