Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
6602cf5
[Feat] #609 - fastlane 파일 세팅
ena-isme Jul 23, 2025
55dbb20
[Feat] #609 - debug 배포 자동화 파이프라인 구축
ena-isme Jul 24, 2025
2f4aac2
[Feat] #609 - Fastfile 빌드번호 자동화 기능 추가
ena-isme Jul 24, 2025
64591fe
[Fix] #609 - deploy.yml 파일 수정된 Fastfile 에 맞춰 수정
ena-isme Jul 24, 2025
8f2265c
[Feat] #609 - Appfile 추가 및 Fastfile 수정
ena-isme Jul 24, 2025
b58bf32
[Test] #609 - 테스트 브런치로 수정
ena-isme Jul 24, 2025
7ac5074
[Test] #609 - CI/CD 테스트
ena-isme Jul 24, 2025
1de63d1
[Fix] #609 - github actions 인증서 문제 해결
ena-isme Jul 24, 2025
d2e1265
[Test] #609 - 로컬브런치로 테스트
ena-isme Jul 24, 2025
8a546d9
[Fix] #609 - private 레포 접근 위해 깃허브토큰 추가
ena-isme Jul 24, 2025
9413209
[Fix] #609 - private 레포 git URL 추가
ena-isme Jul 24, 2025
c5700ca
[Fix] #609 - MATCH_GIT_URL http 제거하여 security 수정
ena-isme Jul 24, 2025
0fc87fb
[Fix] #609 - 앱전용 비밀번호 security 추가
ena-isme Jul 24, 2025
1d2f5fc
[Fix] #609 - 빌드 넘버 시간기반으로 수정
ena-isme Jul 24, 2025
5d6e6a3
[Fix] #609 - github actions 맥 버전 수정
ena-isme Jul 24, 2025
4df8e05
[Fix] #609 - github actions Xcode 버전 추가
ena-isme Jul 24, 2025
a666be9
[Chore] #609 - github actions 작업 순서 변경
ena-isme Jul 24, 2025
30254d8
[Fix] #609 - Xcode 버전 강제로 15로 맞추도록 수정
ena-isme Jul 24, 2025
0a2acf5
[Fix] #609 - GitHub Actions 의 git repo 경로 명시하도록 수정
ena-isme Jul 24, 2025
0aafb45
[Fix] #609 - 경로에 따옴표 제거
ena-isme Jul 24, 2025
b1de3da
[Fix] #609 - fastlane 폴더 존재하는 경로로 수정
ena-isme Jul 24, 2025
6022339
[Fix] #609 - 경로를 루트로 지정
ena-isme Jul 24, 2025
1bd550b
[Fix] #609 - 프로젝트 수정 (workflow 제외)
ena-isme Jul 24, 2025
2d91b19
[Test] #609 - test code
ena-isme Jul 24, 2025
f83760c
[Fix] #609 - github actions 에 적용하기 위해 경로 변경
ena-isme Jul 24, 2025
010cc3d
[Chore] #609 - 원래 경로로 되돌려놓기
ena-isme Jul 24, 2025
48ea93a
[Fix] #609 - .xcodeproj bundle 구조를 보장하도록 다시 커밋
ena-isme Jul 24, 2025
a10669e
[Del] #609 - WSSiOS/WSSiOS.xcodeproj 파일 삭제
ena-isme Jul 24, 2025
97e058f
[Fix] #609 - WSSiOS/WSSiOS.xcodeproj 파일 복구
ena-isme Jul 24, 2025
38897e9
[Chore] #609 - deploy 파일 미포함 커밋
ena-isme Jul 24, 2025
07798b7
[Fix] #609 - xcodeproj 캐시 초기화
ena-isme Jul 24, 2025
9f377cf
[Chore] #609 - deploy.yml 제거 (repository rule 회피)
ena-isme Jul 24, 2025
55ae782
[Chore] #609 - deploy.yml 다시 생성
ena-isme Jul 24, 2025
afc0bcc
[Chore] #609 - 빌드 넘버 증가로 CI 트리거
ena-isme Jul 24, 2025
9e1515a
[Chore] #609 - xcodeproj 중 userData 부분 삭제 후 기존 파일 복원
ena-isme Jul 24, 2025
c3afedb
[Test] #609 - GitHub Actions 디버그 코드 추가
ena-isme Jul 24, 2025
8a22ab2
[Fix] #609 - 디버그 코드 수정
ena-isme Jul 24, 2025
9a81d6a
[Fix] #609 - 경로 수정
ena-isme Jul 24, 2025
4cc5392
[Fix] #609 - 탭 아닌 스페이스바로 들여쓰기
ena-isme Jul 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# 디버그 모드로 내부 테스트플라이트 용도
name: "[Debug] WSS iOS CI/CD - Internal TestFlight Deploy"

# deploy 브랜치에 push될 때 실행 (브랜치네이밍은 임시)
on:
push:
branches:
- Feat/#609

jobs:
build-and-deploy:
name: Running CI/CD for WSS iOS Debug
runs-on: macos-14
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
path: .

- name: Set Xcode version
run: sudo xcode-select -s /Applications/Xcode_15.0.app/Contents/Developer

# fastlane 을 위한 Ruby
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1'

- name: Install Bundler and Fastlane
run: |
gem install bundler
bundle install || gem install fastlane

- name: Create temporary keychain
run: |
security create-keychain -p "ci_password" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "ci_password" build.keychain
security set-keychain-settings -t 3600 -l ~/Library/Keychains/build.keychain

# match 에서 인증서 복호화 할때 필요한 과정
- name: Decrypt Certificates
run: |
brew install gnupg
mkdir -p ~/.gnupg
echo "${{ secrets.MATCH_GIT_PRIVATE_KEY }}" > ~/private-key.asc
gpg --batch --yes --import ~/private-key.asc

- name: Debug - Print directory structut
run: |
echo "== CURRENT DIRECTORY =="
pwd
echo "== FILE STRUCTURE =="
ls -alR

- name: Debug - Confirm .xcodeproj
run: |
echo "== FIND .xcodeproj FILES =="
find . -name "*.xcodeproj"
echo "== VALIDATE project.pbxproj =="
plutil -lint WSSiOS/WSSiOS.xcodeproj/project.pbxproj

- name: Run Fastlane (internal)
working-directory: ${{ github.workspace }}
env:
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_GIT_URL: https://x-access-token:${{ secrets.MATCH_GIT_TOKEN }}@${{ secrets.MATCH_GIT_URL }}
APP_STORE_CONNECT_API_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ID }}
APP_STORE_CONNECT_API_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_ISSUER_ID }}
APP_STORE_CONNECT_API_KEY_CONTENT: ${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENT }}
FASTLANE_USER: ${{ secrets.FASTLANE_USER }}
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}
run: fastlane debug

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,4 @@ fastlane/test_output
iOSInjectionProject/
GoogleService-Info-Debug.plist
GoogleService-Info.plist
.env
14 changes: 8 additions & 6 deletions WSSiOS/WSSiOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
Expand Down Expand Up @@ -322,6 +323,7 @@
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
Expand All @@ -336,7 +338,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 2025032903;
CURRENT_PROJECT_VERSION = 202507242021;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = L4327HMP3S;
GENERATE_INFOPLIST_FILE = YES;
Expand All @@ -353,11 +355,11 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.2.1;
MARKETING_VERSION = 1.3.0;
PRODUCT_BUNDLE_IDENTIFIER = kr.websoso.debug;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = websosoDebugProvisioning;
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development kr.websoso.debug";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
Expand All @@ -379,7 +381,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 2025032903;
CURRENT_PROJECT_VERSION = 202507242021;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = L4327HMP3S;
GENERATE_INFOPLIST_FILE = YES;
Expand All @@ -396,11 +398,11 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.2.1;
MARKETING_VERSION = 1.3.0;
PRODUCT_BUNDLE_IDENTIFIER = kr.websoso;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = websosoReleaseProvisioning;
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match AppStore kr.websoso";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ final class MyPageEditProfileViewController: UIViewController {

if !editing {
owner.rootView.introTextView.endEditing(true)
}
}
})
.disposed(by: disposeBag)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@ final class MyPageViewModel: ViewModelType {
}
}


private func handleKeywordCollectionViewHeight(resizeKeywordCollectionViewHeight: Observable<CGSize?>) -> Observable<CGFloat> {
return resizeKeywordCollectionViewHeight
.map { $0?.height ?? 0 }
Expand Down
2 changes: 2 additions & 0 deletions fastlane/Appfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
apple_id("[email protected]")
itc_team_id("127138049")
44 changes: 44 additions & 0 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
default_platform(:ios)

platform :ios do
desc "App Store Connect 배포 (Release)"
lane :appstore do
match(type: "appstore")

build_app(
scheme: "WSSiOS",
configuration: "Release",
export_method: "app-store",
output_name: "WSSiOS.ipa"
)

upload_to_app_store
end

desc "TestFlight 내부 배포 (Debug)"
lane :debug do
match(
type: "appstore",
readonly: true,
app_identifier: "kr.websoso.debug"
)

time_based_number = Time.now.strftime("%Y%m%d%H%M")
increment_build_number(
build_number: time_based_number,
xcodeproj: "WSSiOS/WSSiOS.xcodeproj"
)

build_app(
scheme: "WSSiOS",
configuration: "Debug",
export_method: "app-store",
project: "WSSiOS/WSSiOS.xcodeproj"
)

upload_to_testflight(
distribute_external: false,
skip_waiting_for_build_processing: true
)
end
end
40 changes: 40 additions & 0 deletions fastlane/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
fastlane documentation
----

# Installation

Make sure you have the latest version of the Xcode command line tools installed:

```sh
xcode-select --install
```

For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)

# Available Actions

## iOS

### ios appstore

```sh
[bundle exec] fastlane ios appstore
```

App Store Connect 배포 (Release)

### ios debug

```sh
[bundle exec] fastlane ios debug
```

TestFlight 내부 배포 (Debug)

----

This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.

More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).

The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
Loading