Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Continuous integration Gitlab连续交付选项_Continuous Integration_Gitlab_Testflight_Continuous Delivery_Hockeyapp - Fatal编程技术网

Continuous integration Gitlab连续交付选项

Continuous integration Gitlab连续交付选项,continuous-integration,gitlab,testflight,continuous-delivery,hockeyapp,Continuous Integration,Gitlab,Testflight,Continuous Delivery,Hockeyapp,我是iOS开发者和开发者 我最近一直在玩Gitlab,试图弄清楚它是否比redmine+jenkins+HockeyApp更好/更方便。Gitlab似乎很酷,只是我不知道如何将我的特别iOS构建上传到HockeyApp(或TestFlight)。有可能吗 谢谢是的,这绝对是可能的。我强烈建议使用 他们甚至有。您可以专门使用pilot将构建上传到TestFlight 希望这能有所帮助:)我最终得到了以下配置: 添加deploy.sh文件: #!/bin/bash echo "deploy to h

我是iOS开发者和开发者 我最近一直在玩Gitlab,试图弄清楚它是否比redmine+jenkins+HockeyApp更好/更方便。Gitlab似乎很酷,只是我不知道如何将我的特别iOS构建上传到HockeyApp(或TestFlight)。有可能吗


谢谢

是的,这绝对是可能的。我强烈建议使用

他们甚至有。您可以专门使用pilot将构建上传到TestFlight


希望这能有所帮助:)

我最终得到了以下配置:

添加deploy.sh文件:

#!/bin/bash
echo "deploy to hockeyapp"

HOCKEYAPP_APP_NAME="MyApp.iOS.ipa"
HOCKEYAPP_TOKEN="MyTOKEN"
HOCKEYAPP_ID="MYAPPID"

function buildNotes {

    # We need an initial bullet point for our list of commit logs
    echo -n "* "
    # Get the latest app uploads
    curl -H "X-HockeyAppToken: $HOCKEYAPP_TOKEN" \
    "https://rink.hockeyapp.net/api/2/apps/$HOCKEYAPP_ID/app_versions?page=1" | \
    # Put every property on a separate line
    sed 's/,/\n/g' | \
    # Remove all the quotation marks
    sed 's/"//g' | \
    # Look at only the notes properties
    grep notes | \
    # Look at the first one, i.e. the latest app upload
    head -n 1 | \
    # Find the commit information at the bottom of the notes
    sed -n 's/.*(commit:\([^)]*\)).*/\1/p' | \
    # Let's find all the logs since that commit
    xargs -I '{}' git log {}..HEAD --pretty=format:'%h %s' --no-merges | \
    # Add a star to each newline to make the list
    sed ':a;N;$!ba;s/\n/\n* /g'
    # The end of the revision log must have the latest commit
    # This is so later we can do the above again
    echo
    echo -n "* (commit:"
    git rev-parse HEAD | xargs echo -n
    echo -n ')'
}

function deployAppFlavor () {
    echo "executeCurlCommand"
    curl -F "status=2" \
    -F "notify=1" \
    -F "notes=<release_notes" \
    -F "notes_type=0" \
    -F "ipa=@src/build/MyApp.iOS.ipa/$1" \
    -H "X-HockeyAppToken: $2"\
     "https://rink.hockeyapp.net/api/2/apps/$3/app_versions/upload"
}

function deployApp {
    buildNotes > release_notes
    deployAppFlavor $HOCKEYAPP_APP_NAME $HOCKEYAPP_TOKEN $HOCKEYAPP_ID
}

deployApp

谢谢,我去看看:)
 build_project:
   stage: build

   script:
     - xcodebuild clean -workspace MyApp.iOS.xcworkspace -scheme MyApp.iOS -quiet
     - xcodebuild build -workspace MyApp.iOS.xcworkspace -scheme MyApp.iOS -destination 'platform=iOS Simulator,name=iPhone 6s' | xcpretty -s > -quiet

 archive_project:
   stage: archive
   script:
     - xcodebuild clean archive -archivePath "build/MyApp.iOS.xcarchive" -workspace "MyApp.iOS.xcworkspace" -scheme MyApp.iOS -quiet
     - xcodebuild -exportArchive -archivePath "build/MyApp.IOS.xcarchive" -exportPath "build/MyApp.iOS.ipa" -exportOptionsPlist "export.plist" -quiet
   artifacts:
     paths:
       - src/build/MyApp.iOS.ipa

 deploy:
   before_script:
     - chmod +x ./scripts/deploy.sh
   stage: deploy
   script:
     - ./scripts/deploy.sh