3

在我的 AWS SageMaker 项目的 GitHub 存储库中,提交被标记为由用户“EC2 默认用户”创建。

在此处输入图像描述

如何在 SageMaker 中自定义此用户的名称,以便每次启动笔记本实例时都使用它?

4

3 回答 3

9

要系统地解决此问题,您可以在Lifecycle 配置中使用Start notebook configuration 。 这是脚本模板:

#!/bin/bash

set -e
cat << EOF >> /home/ec2-user/.gitconfig
[user]
        name = John Doe
        email = johndoe@example.com
EOF

请用您的实际值替换name和。email

此脚本会将行追加到SageMaker 机器上的.gitconfig文件中。ec2-user这与您可以使用以下 2 个命令手动实现的效果相同:

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

由于SageMaker 的笔记本实例启动/停止策略

只有保存在 /home/ec2-user/SageMaker 文件夹中的文件和数据在笔记本实例会话之间保留。当笔记本实例停止并重新启动时,保存在此目录之外的文件和数据将被覆盖。

您需要将此添加为Start notebook脚本,因此每次启动 Notebook Instance 时都会运行它。

这是 AWS Web 控制台的屏幕截图:
启动脚本配置示例

于 2019-03-03T16:36:11.673 回答
3

您是从 ec2 实例推送吗?

提交作者与用于验证推送的 ssh 密钥无关。

它与当前的 Git 配置有关:

git config user.name
git config user.email

确保这些本地设置的值是正确的(EC2 Git 存储库的本地设置),并且下一个新提交将由正确的作者提交。

我复制并感谢这篇文章:如何在通过 ssh 推送 git 时更改用户身份?

于 2018-12-18T00:12:36.223 回答
-1

您还可以使用 SageMaker 笔记本的内置 Git 集成来定义用户名(并为其提供密码)。

这是指南的链接:https ://aws.amazon.com/blogs/machine-learning/amazon-sagemaker-notebooks-now-support-git-integration-for-increased-persistence-collaboration-and-reproducibility/

在此处输入图像描述

于 2018-12-21T21:50:05.287 回答