|
@@ -14,151 +14,7 @@
|
|
|
"cell_type": "markdown",
|
|
|
"metadata": {},
|
|
|
"source": [
|
|
|
- "## 1. SSH鍵を準備する"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "markdown",
|
|
|
- "metadata": {},
|
|
|
- "source": [
|
|
|
- "1. SSH鍵を生成し、秘密鍵を.ssh/id_rsaに配置します。"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "%%sh\n",
|
|
|
- "cd ~/\n",
|
|
|
- "mkdir .ssh\n",
|
|
|
- "ssh-keygen -f .ssh/id_rsa -t rsa -N \"\""
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "markdown",
|
|
|
- "metadata": {},
|
|
|
- "source": [
|
|
|
- "2. 以下のセルで出力された公開鍵を[こちら](http://dg02.dg.rcos.nii.ac.jp/user/settings/ssh)からGINリポジトリに登録してください。"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "%%sh\n",
|
|
|
- "cd ~/\n",
|
|
|
- "cat .ssh/id_rsa.pub"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "markdown",
|
|
|
- "metadata": {},
|
|
|
- "source": [
|
|
|
- "## 2. SSH接続で書き戻しを行うためにssh鍵に権限を与える(ssh鍵は.sshディレクトリの中にid_rsaとして保存する)"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "%%sh\n",
|
|
|
- "cd ~/\n",
|
|
|
- "chmod 600 .ssh/id_rsa"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "markdown",
|
|
|
- "metadata": {},
|
|
|
- "source": [
|
|
|
- "## 3. SSH鍵の利用確認をオフにする"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "%%sh\n",
|
|
|
- "echo \"host *\\n\\tStrictHostKeyChecking no\\n\\tUserKnownHostsFile /dev/null\" >> ~/.ssh/config"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "markdown",
|
|
|
- "metadata": {},
|
|
|
- "source": [
|
|
|
- "## 4. Dataladとpapermillをインストールする"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "pip install datalad"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "pip install papermill"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "markdown",
|
|
|
- "metadata": {},
|
|
|
- "source": [
|
|
|
- "## 5. environment.yamlを作成する"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "markdown",
|
|
|
- "metadata": {},
|
|
|
- "source": [
|
|
|
- "1. pyyamlをインストールする"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "pip install pyyaml"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "markdown",
|
|
|
- "metadata": {},
|
|
|
- "source": [
|
|
|
- "2. environment.yamlを作成する"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "%%sh\n",
|
|
|
- "echo \"name: Binder environment\\nchannels:\\n - conda-forge\\n - defaults\\ndependencies:\\n - pip\\n - datalad\\n - papermill\\n\" >> ~/environment.yaml"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "markdown",
|
|
|
- "metadata": {},
|
|
|
- "source": [
|
|
|
- "## 6. .gitconfigにユーザー名とメールアドレスを登録する"
|
|
|
+ "## 1. .gitconfigにユーザー名とメールアドレスを登録する"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
@@ -210,7 +66,7 @@
|
|
|
"cell_type": "markdown",
|
|
|
"metadata": {},
|
|
|
"source": [
|
|
|
- "## 7. Dataladを使用するため、このリポジトリをデータセットとする"
|
|
|
+ "## 2. Dataladを使用するため、このリポジトリをデータセットとする"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
@@ -228,7 +84,7 @@
|
|
|
"cell_type": "markdown",
|
|
|
"metadata": {},
|
|
|
"source": [
|
|
|
- "## 8. ワークフロー実行結果をGINリポジトリに反映させるため、GINリポジトリをリモートリポジトリに設定する"
|
|
|
+ "## 3. Git管理対象外ファイルを.gitignoreで設定する"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
@@ -238,81 +94,27 @@
|
|
|
"outputs": [],
|
|
|
"source": [
|
|
|
"%%sh\n",
|
|
|
- "mkdir ./tmp\n",
|
|
|
- "git remote show origin > ./tmp/remote.txt"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "import json\n",
|
|
|
- "json_open = open('/home/jovyan/param_files/param_for_dataladsiblings.json', 'r')\n",
|
|
|
- "json_load = json.load(json_open)\n",
|
|
|
- "http = json_load['http']\n",
|
|
|
- "ssh = json_load['ssh']"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "with open('./tmp/remote.txt', 'r') as f:\n",
|
|
|
- " lines = [s.strip() for s in f.readlines()]\n",
|
|
|
- " ssh_push_url = lines[2].replace(http, ssh) "
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "import os\n",
|
|
|
- "\n",
|
|
|
- "os.system(\"rm -r ./tmp\")"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "from datalad import api\n",
|
|
|
"\n",
|
|
|
- "try:\n",
|
|
|
- " api.siblings(action='add', name='gin', url=ssh_push_url)\n",
|
|
|
- "except:\n",
|
|
|
- " pass"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "markdown",
|
|
|
- "metadata": {},
|
|
|
- "source": [
|
|
|
- "## 9. .local配下をgit管理しないように.gitignoreで設定する"
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "cell_type": "code",
|
|
|
- "execution_count": null,
|
|
|
- "metadata": {},
|
|
|
- "outputs": [],
|
|
|
- "source": [
|
|
|
- "%%sh\n",
|
|
|
- "echo \".local/*\" >> ~/.gitignore"
|
|
|
+ "echo \"\n",
|
|
|
+ "/.cache/\n",
|
|
|
+ "/.conda/\n",
|
|
|
+ "/.config/\n",
|
|
|
+ "/.ipython/\n",
|
|
|
+ "/.local/\n",
|
|
|
+ "/.tmp/\n",
|
|
|
+ "/.bashrc\n",
|
|
|
+ "/.bash_logout\n",
|
|
|
+ "/.profile\n",
|
|
|
+ "/.netrc\n",
|
|
|
+ ".ipynb_checkpoints/\n",
|
|
|
+ "\" > ~/.gitignore"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "markdown",
|
|
|
"metadata": {},
|
|
|
"source": [
|
|
|
- "## 10. 実験用フォルダを作成し、その中にpipeline.jsonを用意する"
|
|
|
+ "## 4. 実験用フォルダを作成し、その中にpipeline.jsonを用意する"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
@@ -323,14 +125,14 @@
|
|
|
"source": [
|
|
|
"%%sh\n",
|
|
|
"mkdir ~/experiments\n",
|
|
|
- "echo \"[]\" >> ~/experiments/pipeline.json"
|
|
|
+ "echo \"[]\" > ~/experiments/pipeline.json"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "markdown",
|
|
|
"metadata": {},
|
|
|
"source": [
|
|
|
- "## 11. 必要なファイルをPACKAGEテンプレートに複製する"
|
|
|
+ "## 5. 必要なファイルをPACKAGEテンプレートに複製する"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
@@ -341,19 +143,16 @@
|
|
|
"source": [
|
|
|
"%%sh\n",
|
|
|
"cd ~/\n",
|
|
|
- "mkdir WORKFLOW/PACKAGE/.ssh\n",
|
|
|
- "cp .ssh/id_rsa WORKFLOW/PACKAGE/.ssh/id_rsa\n",
|
|
|
- "cp .ssh/config WORKFLOW/PACKAGE/.ssh/config\n",
|
|
|
"cp .gitconfig WORKFLOW/PACKAGE/.gitconfig\n",
|
|
|
- "cp .gitconfig WORKFLOW/PACKAGE/.gitconfig\n",
|
|
|
- "cp environment.yaml WORKFLOW/PACKAGE/environment.yaml"
|
|
|
+ "cp .gitignore WORKFLOW/PACKAGE/.gitignore\n",
|
|
|
+ "cp environment.yml WORKFLOW/PACKAGE/environment.yml"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "markdown",
|
|
|
"metadata": {},
|
|
|
"source": [
|
|
|
- "## 12. 変更内容を書き戻す"
|
|
|
+ "## 6. 変更内容を書き戻す"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
@@ -362,13 +161,9 @@
|
|
|
"metadata": {},
|
|
|
"outputs": [],
|
|
|
"source": [
|
|
|
- "import papermill as pm\n",
|
|
|
- "\n",
|
|
|
- "pm.execute_notebook(\n",
|
|
|
- " '../util/datalad_save_push.ipynb',\n",
|
|
|
- " '-',\n",
|
|
|
- " parameters = dict(SAVE_MESSAGE = 'ワークフロー実行準備')\n",
|
|
|
- ")"
|
|
|
+ "%cd ~/\n",
|
|
|
+ "!datalad save --to-git -m \"save\"\n",
|
|
|
+ "!datalad push"
|
|
|
]
|
|
|
}
|
|
|
],
|
|
@@ -388,7 +183,7 @@
|
|
|
"name": "python",
|
|
|
"nbconvert_exporter": "python",
|
|
|
"pygments_lexer": "ipython3",
|
|
|
- "version": "3.7.8"
|
|
|
+ "version": "3.8.12"
|
|
|
}
|
|
|
},
|
|
|
"nbformat": 4,
|