세상을 이롭게

[Flutter] 03. channel 선택 및 적용하기 본문

Flutter

[Flutter] 03. channel 선택 및 적용하기

2021. 7. 24. 23:17

오랜만에 Flutter개발을 해보려 한다. 개발에 앞서 upgrade를 하라는 문서를 보아서(공식문서를 따르자)
따라해 보도록 한다.

$ flutter channel 을 해보면 channel을 선택할 수 있는데, 4가지 분류가 있으며 당연히 stable channel로  업데이트를 하라하여
(권장) 업데이트를 해보았다.

흐음 channel이 뭘까? 궁금한건 정리해야징

https://github.com/flutter/flutter/wiki/Flutter-build-release-channels

 

GitHub - flutter/flutter: Flutter makes it easy and fast to build beautiful apps for mobile and beyond.

Flutter makes it easy and fast to build beautiful apps for mobile and beyond. - GitHub - flutter/flutter: Flutter makes it easy and fast to build beautiful apps for mobile and beyond.

github.com

$ flutter channel 명령어를 확인해보면 아래와 같이 
Flutter channels:
* stable
   beta
   dev
   master
4개의 채널이 나오고, 각각 마다 특징을 갖고 있다.

당연히 일반 사용자들에게는 stable을 권하고 있으며, 아래 내용은 위 사이트에서 발췌하였다. 최신본은 꼭 공식 사이트에서 확인할것.

master

The current tip-of-tree, absolute latest cutting edge build.
Usually functional, though sometimes we accidentally break things.

dev

The latest fully-tested build. Usually functional, but see Bad Builds for a list of known "bad" dev builds. We continually try to roll master to dev. Doing so involves running many more tests than those that we run during master development, which is why this is not actually the same to master.

dev releases will be tagged with the following schema:
[x].[y].0-[n].[m].pre

If master is currently at x=1, y=18, n will increment by one for each subsequent beta release. m will increment for each subsequent build at this branch point.

Versioning example:
1.18.0-1.0.pre <- first dev build after master moves to 1.18
1.18.0-2.0.pre <- next dev build from a more recent point on master
1.18.0-2.1.pre <- point release from the same point of master as the above build

beta

We will branch from master for a new beta release at the beginning of the month, usually the first Monday. This will include a branch for Dart, the Engine and the Framework. This branch will then be "stabilized" for the next couple of weeks, meaning we will accept cherrypick requests for high impact issues. As we near the end of the month and the next beta branch, we will likely reduce the number of cherrypicks we are willing to do. Once a quarter, the beta branch will live on to become the next stable branch, as detailed below.

Versioning example:
following from the dev example above, let's say we branch for beta at the 15th dev release point for 1.18

1.18.0-15.0.pre <- initial beta RC, same release as went to dev.
1.18.0-15.1.pre <- subsequent build on the (now) beta branch with some cherrypicks.
1.18.0-15.2.pre <- second subsequent build.

stable

Roughly once a quarter, a branch that has been stabilized on beta will become our next stable branch and we will create a stable release from that branch. We recommend that you use this channel for all production app releases.
In case of high severity, high impact or security issues, we may do a hotfix release for the stable channel. This will follow the same cherrypick process.

Versioning example:

the first stable release will always be X.Y.0. following on the example above:

1.18.0-15.4.pre <- last beta build on branch
1.18.0 <- stable release, same bits as 1.18.0-15.4.pre
1.18.1 <- potential hotfix of 1.18.0

필요에 따라 channel을 바꾸어 적용할 수 있는데 이때 사용하는 명령어는 

$ flutter channel [<channel-name>]

$ flutter upgrade

하면 되겠다.