Merge pull request #36 from drone/aws_codecommit
Added AWS codecommit support using access & secret keys
This commit is contained in:
commit
a0b9eebc4f
@ -1,5 +1,31 @@
|
|||||||
FROM alpine:3.12
|
FROM alpine:3.12
|
||||||
RUN apk add --no-cache ca-certificates git git-lfs openssh curl perl
|
RUN apk add --no-cache ca-certificates git git-lfs openssh curl perl
|
||||||
|
|
||||||
|
ENV GLIBC_VER=2.31-r0
|
||||||
|
RUN apk --no-cache add \
|
||||||
|
binutils \
|
||||||
|
curl \
|
||||||
|
&& curl -sL https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub -o /etc/apk/keys/sgerrand.rsa.pub \
|
||||||
|
&& curl -sLO https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VER}/glibc-${GLIBC_VER}.apk \
|
||||||
|
&& curl -sLO https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VER}/glibc-bin-${GLIBC_VER}.apk \
|
||||||
|
&& apk add --no-cache \
|
||||||
|
glibc-${GLIBC_VER}.apk \
|
||||||
|
glibc-bin-${GLIBC_VER}.apk \
|
||||||
|
&& curl -sL https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.1.24.zip -o awscliv2.zip \
|
||||||
|
&& unzip awscliv2.zip \
|
||||||
|
&& aws/install \
|
||||||
|
&& rm -rf \
|
||||||
|
awscliv2.zip \
|
||||||
|
aws \
|
||||||
|
/usr/local/aws-cli/v2/*/dist/aws_completer \
|
||||||
|
/usr/local/aws-cli/v2/*/dist/awscli/data/ac.index \
|
||||||
|
/usr/local/aws-cli/v2/*/dist/awscli/examples \
|
||||||
|
&& apk --no-cache del \
|
||||||
|
binutils \
|
||||||
|
curl \
|
||||||
|
&& rm glibc-${GLIBC_VER}.apk \
|
||||||
|
&& rm glibc-bin-${GLIBC_VER}.apk \
|
||||||
|
&& rm -rf /var/cache/apk/*
|
||||||
|
|
||||||
ADD posix/* /usr/local/bin/
|
ADD posix/* /usr/local/bin/
|
||||||
ENTRYPOINT ["/usr/local/bin/clone"]
|
ENTRYPOINT ["/usr/local/bin/clone"]
|
||||||
|
12
posix/clone
12
posix/clone
@ -29,6 +29,18 @@ if [[ ! -z "${DRONE_SSH_KEY}" ]]; then
|
|||||||
ssh-keyscan -H ${DRONE_NETRC_MACHINE} > /etc/ssh/ssh_known_hosts 2> /dev/null
|
ssh-keyscan -H ${DRONE_NETRC_MACHINE} > /etc/ssh/ssh_known_hosts 2> /dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# AWS codecommit support using AWS access key & secret key
|
||||||
|
# Refer: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-unixes.html
|
||||||
|
|
||||||
|
if [[ ! -z "$DRONE_AWS_ACCESS_KEY" ]]; then
|
||||||
|
aws configure set aws_access_key_id $DRONE_AWS_ACCESS_KEY
|
||||||
|
aws configure set aws_secret_access_key $DRONE_AWS_SECRET_KEY
|
||||||
|
aws configure set default.region $DRONE_AWS_REGION
|
||||||
|
|
||||||
|
git config --global credential.helper '!aws codecommit credential-helper $@'
|
||||||
|
git config --global credential.UseHttpPath true
|
||||||
|
fi
|
||||||
|
|
||||||
# configure git global behavior and parameters via the
|
# configure git global behavior and parameters via the
|
||||||
# following environment variables:
|
# following environment variables:
|
||||||
|
|
||||||
|
@ -166,7 +166,7 @@ func TestPullRequest(t *testing.T) {
|
|||||||
cmd.Dir = local
|
cmd.Dir = local
|
||||||
cmd.Env = []string{
|
cmd.Env = []string{
|
||||||
fmt.Sprintf("DRONE_COMMIT_REF=%s", "refs/pull/14596/head"),
|
fmt.Sprintf("DRONE_COMMIT_REF=%s", "refs/pull/14596/head"),
|
||||||
fmt.Sprintf("DRONE_COMMIT_BRANCH=%s", "master"),
|
fmt.Sprintf("DRONE_COMMIT_BRANCH=%s", "main"),
|
||||||
fmt.Sprintf("DRONE_COMMIT_SHA=%s", "26923a8f37933ccc23943de0d4ebd53908268582"),
|
fmt.Sprintf("DRONE_COMMIT_SHA=%s", "26923a8f37933ccc23943de0d4ebd53908268582"),
|
||||||
fmt.Sprintf("DRONE_WORKSPACE=%s", local),
|
fmt.Sprintf("DRONE_WORKSPACE=%s", local),
|
||||||
fmt.Sprintf("DRONE_REMOTE_URL=%s", remote),
|
fmt.Sprintf("DRONE_REMOTE_URL=%s", remote),
|
||||||
@ -195,7 +195,7 @@ func TestPullRequest(t *testing.T) {
|
|||||||
t.Errorf("Want commit %s, got %s", want, got)
|
t.Errorf("Want commit %s, got %s", want, got)
|
||||||
}
|
}
|
||||||
|
|
||||||
if want, got := "master", branch; got != want {
|
if want, got := "main", branch; got != want {
|
||||||
t.Errorf("Want branch %s, got %s", want, got)
|
t.Errorf("Want branch %s, got %s", want, got)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user